1,统计文件夹的文件总数

代码:

package Class_fifth;
import java.io.File;

public class Statistics {
 public static void main(String[] args) {
  File file = new File("C:\\Users\\黄微微\\Documents\\Tencent Files\\1731359550\\FileRecv\\05.StreamAndFileSourceCode\\File");
   File[] files = file.listFiles();
  System.out.println("该文件夹的文件总数为:"+files.length);
 }
}

设计思路:使用文件类中的listFiles();方法即可;

2,文件的加密和解密

代码:

package Class_fifth;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class Cryto {
  private static final int numOfEncAndDec = 0x99; //加密解密秘钥
      private static int dataOfFile = 0; //文件字节内容
      public static void main(String[] args) {
 
          File srcFile = new File("excision_1.txt"); //初始文件
          File encFile = new File("excision_2.txt"); //加密文件
          File decFile = new File("excision_3.txt"); //解密文件
         
          try {
             EncFile(srcFile, encFile); //加密操作
         } catch (Exception e) {
              e.printStackTrace();
          } 
          try {
           DecFile(encFile,decFile);  //解密操作
          }catch(Exception e) {
           e.printStackTrace();
          }
      }
  //文件的解密
     public static void EncFile(File srcFile, File encFile) throws Exception {
     
          if(!srcFile.exists()){
              System.out.println("source file not exixt");
              return;
         }
         
          if(!encFile.exists()){
             System.out.println("encrypt file created");
              encFile.createNewFile();
          }
          InputStream fis  = new FileInputStream(srcFile);
          OutputStream fos = new FileOutputStream(encFile);
         
          while ((dataOfFile = fis.read()) > -1) {
              fos.write(dataOfFile^numOfEncAndDec);
          }
         
          fis.close();
          fos.flush();
          fos.close();
      }
     //文件的解密
      public static void DecFile(File encFile, File decFile) throws Exception {
       if(!encFile.exists()){
       System.out.println("encrypt file not exixt");
       return;
      }
      
      if(!decFile.exists()){
       System.out.println("decrypt file created");
       decFile.createNewFile();
      }
     
      InputStream fis  = new FileInputStream(encFile);
      OutputStream fos = new FileOutputStream(decFile);
     
      while ((dataOfFile = fis.read()) > -1) {
      fos.write(dataOfFile^numOfEncAndDec);
      }
     
      fis.close();
      fos.flush();
      fos.close();
      }
}
设计思路 使用加密解密密钥:0x99
将加密后的文件存储起来,然后解密文件
3,将文件分割成三个文件

 设计思路:将大文件读取出来存储在字符串数组内,将这个字符串数组分成若干个小部分,然后再将这几个小部分用文件存储起来;

Class_fifth的更多相关文章

随机推荐

  1. 微软消息队列-MicroSoft Message Queue(MSMQ)队列的C#使用

    目录 定义的接口 接口实现 建立队列工厂 写入队列 获取消息 什么是MSMQ Message Queuing(MSMQ) 是微软开发的消息中间件,可应用于程序内部或程序之间的异步通信.主要的机制是:消 ...

  2. 乾坤合一~Linux设备驱动之终端设备驱动

    多想拥你在我的怀里 却无法超越那距离 美好回忆渐渐地远去 盼望今生出现奇迹 无尽的想念 荒了容颜 无助的爱恋 从未改变 这是今天的旋律,,,,今生今世,遥不可及~ 1 终端设备 终端是一种字符型设备, ...

  3. npm太慢, 修改npm镜像

    今天晚上想要将clone下来的项目进行npm install,但是等了半天都没动 查看源 npm config get registry 或 npm config list https://regis ...

  4. Mysql分组查询group by语句详解

    (1) group by的含义:将查询结果按照1个或多个字段进行分组,字段值相同的为一组(2) group by可用于单个字段分组,也可用于多个字段分组 select * from employee; ...

  5. 在windows下编写shell脚本

    注意两点: 1.第一行:#!/bin/bash 2.将文档格式转换为unix,因为在windows下编写shell脚本回车符是\n\r,而linux下的回车符是\n,所以在linux下运行脚本的时候, ...

  6. 【CF446D】DZY Loves Games 高斯消元+矩阵乘法

    [CF446D]DZY Loves Games 题意:一张n个点m条边的无向图,其中某些点是黑点,1号点一定不是黑点,n号点一定是黑点.问从1开始走,每次随机选择一个相邻的点走过去,经过恰好k个黑点到 ...

  7. M - 非诚勿扰 优先队列

    来源 作为2013年699万应届毕业生中的一员,由于宏观经济的不景气,小明在毕业当天就华丽丽地失业了! 经历了千难万苦的求职过程,小明特别能理解毕业生的就业之难,所以,他现在准备创建一家专门针对IT人 ...

  8. Listen error 错误和 limit of inotify watches was reached

    今天在生产环境中报错rails c中报了一个错误: FATAL: Listen error: unable to monitor directories for changes. Visit http ...

  9. 微信小程序开发笔记01

    微信小程序开发的优势 1,不用安装,即开即用,用完就走.省流量,省安装时间,不占用桌面: 2,体验上虽然没法完全媲美原生APP,但综合考虑还是更优: 3,对于小程序拥有者来说,开发成本更低,他们可以更 ...

  10. mysql8.0发布新特性

    2018年4月21日 14:36:42 https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html#mysqld-8-0-11-b ...