• 2020.11.14


    一、今日学习内容:

        关于文件与流知识的例题两个:

    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 }
    复制代码
    复制代码

     二、遇到的问题:

        未能按照题目要求完美输出。

    三、明日学习计划:

        继续学习Javaweb。

  • 相关阅读:
    Node.js v0.10.1 稳定版发布
    PHP 5.5.0 Alpha6 发布
    DataNucleus Access Platform 3.2 正式版发布
    Swipe 2.0 发布,移动端滑动 JS 库
    Kamailio 4.0 发布,开源的SIP服务器
    PeerJS 0.1.7:一个用于浏览器内P2P的WebRTC封装器
    Apache Libcloud 0.12.3 发布
    IE 10将加强对Flash的支持
    JBoss Portlet Bridge 3.2.0.Beta2 发布
    如何在遗留代码基础上开发
  • 原文地址:https://www.cnblogs.com/marr/p/14176502.html
Copyright © 2020-2023  润新知