05_流与文件——课后作业

1、编写一个程序,指定一个文件夹,能自动计算出其总容量

 1 package renwu1;
 2 
 3 
 4 import java.io.File;
 5 import java.util.ArrayList;
 6 
 7 public class test1 {
 8     long size = 0;
 9     static ArrayList<String> filelist = new ArrayList<String>();
10     
11     void getFiles(String file_address) {
12         File root = new File(file_address);
13         File[] files = root.listFiles();
14         for(File file:files) {
15             if(file.isDirectory()) {
16                 getFiles(file.getAbsolutePath());//通过递归,得到某一路径下所有的文件目录
17                 filelist.add(file.getAbsolutePath());
18             }
19             else {
20                 size = file.getAbsolutePath().length();
21             }
22         }
23         System.out.println("文件夹的容量为:"+size);
24     }
25     
26     public static void main(String[] args) {
27         test1 c1 = new test1();
28         String filelujing = "E:\\课程作业\\java程序设计\\Java第一次课";
29         c1.getFiles(filelujing);
30     }
31 
32 }

2、编写一个文件加解密程序,通过命令行完成加解密工作

 1 package renwu2;
 2 
 3 import java.io.File;
 4 import java.io.InputStream;
 5 import java.io.OutputStream;
 6 import java.io.FileInputStream;
 7 import java.io.FileOutputStream;
 8 //编写一个文件加解密程序,通过命令行完成加解密工作
 9 public class test2 {
10  private static final int numOfEncAndDec=0x99;//加密解密密钥
11  private static int dataOfFile=0;//文件字节内容
12 
13  public static void main(String[] args) {
14   File srcFile=new File("E:\\java的txt文本\\原文件.txt");//初始化文件
15   File encFile=new File("E:\\java的txt文本\\解密后.txt"); //加密文件
16   File decFile=new File("E:\\java的txt文本\\加密后.txt");  //解密文件
17   
18   try {
19       EncFile(srcFile,decFile);  //加密操作
20         DecFile(decFile,encFile);
21           }catch(Exception e) {
22            e.printStackTrace();
23           }
24          }
25  private static void EncFile(File srcFile,File encFile)throws Exception{
26   if(!srcFile.exists()) {
27    System.out.println("source file not exixt");
28    }
29   if(!encFile.exists()) {
30    System.out.println("encrypt file created");
31    encFile.createNewFile();//若无加密文件,新建一个加密文件
32   }
33   InputStream fis=new FileInputStream(srcFile);
34   OutputStream fos=new FileOutputStream(encFile);
35   
36   while((dataOfFile=fis.read())>-1) {//当读到文件内容时
37    fos.write(dataOfFile^numOfEncAndDec);//将读出的内容加密后写入
38   }
39   fis.close();
40   fos.flush();
41   fos.close();
42  }
43  private static void DecFile(File encFile,File decFile)throws Exception{
44   if(!encFile.exists()) {
45    System.out.println("encrypt file not exixt");
46   }
47   if(!decFile.exists()) {
48    System.out.println("decrypt file created");
49    decFile.createNewFile();
50   }
51   InputStream fis=new FileInputStream(encFile);
52   OutputStream fos=new FileOutputStream(decFile);
53   
54   while((dataOfFile=fis.read())>-1) {
55    fos.write(dataOfFile^numOfEncAndDec);
56   }
57   fis.close();
58   fos.flush();
59   fos.close();
60  }
61 
62 }

3、编写一个文件分割工具,能把一个大文件分割成多个小的文件。并且能再次把它们合并起来得到完整的文件。

posted @ 2018-11-18 22:10  枫黎  阅读(138)  评论(0编辑  收藏  举报