• java作业<文件与流>


    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、编写一个文件分割工具,能把一个大文件分割成多个小的文件。并且能再次把它们合并起来得到完整的文件。

  • 相关阅读:
    Using AlloyTouch to control three.js 3D model
    AlloyTouch与three.js 3D模型交互
    移动Web触摸与运动解决方案AlloyTouch开源啦
    transformjs玩转星球
    swing with transformjs
    和transformjs一起摇摆
    getting started with transformjs
    移动Web利器transformjs入门
    腾讯AlloyTeam移动Web裁剪组件AlloyCrop正式开源
    Why AlloyFinger is so much smaller than hammerjs?
  • 原文地址:https://www.cnblogs.com/zyljal/p/14165996.html
Copyright © 2020-2023  润新知