• 文件 流


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

    package File;

    import java.io.File;
    import java.util.ArrayList;
    import java.util.Scanner;
    public class Filerongliang {
    static long size=0;
    private static ArrayList<String> filelist=new ArrayList<String>();
    private static Filerongliang s;
    private static Scanner scan;
    public static void main(String[] args) {
    s = new Filerongliang();
    System.out.println("请输入一个文件夹 ");
    scan = new Scanner(System.in);
    String filePath = scan.nextLine();
    Filerongliang.getFiles(filePath);
    System.out.println("文件夹总容量为"+size);
    }
    static void getFiles(String filePath) {
    int i = 0;
    int sum = 0;
    File f=new File(filePath);
    File[] fs=f.listFiles();
    for(File file:fs) {
    if(file.isDirectory()) {
    getFiles(file.getAbsolutePath());
    filelist.add(file.getAbsolutePath());
    } else {
    System.out.println(fs[i].getAbsolutePath());
    sum = file.getAbsolutePath().length();
    size += file.getAbsolutePath().length();
    System.out.println("本文件大小为"+sum);
    i++;
    }

    }

    }
    }

     

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

    package File;

    import java.io.File;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    public class Addjianmi {
    private static final int numOfEncAndDec=0x99;//加密解密密钥
    private static int dataOfFile=0;//文件字节内容
    public static void main(String[] args) {
    File srcFile=new File("E:\JAVA\eclipse\文件的加密解密\poem.txt");//初始化文件
    File encFile=new File("E:\JAVA\eclipse\文件的加密解密\poem1.txt"); //加密文件
    File decFile=new File("E:\JAVA\eclipse\文件的加密解密\poem2.txt"); //解密文件

    try {
    //EncFile(srcFile,encFile); //加密操作
    //DecFile(encFile,decFile);//解密操作
    EncFile(srcFile,decFile); //加密操作
    DecFile(decFile,encFile);
    }catch(Exception e) {
    e.printStackTrace();
    }
    }
    private static void EncFile(File srcFile,File encFile)throws Exception{
    if(!srcFile.exists()) {
    System.out.println("source file not exixt");
    }
    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);//将读出的内容加密后写入

    }
    System.out.println("读出并写入成功!");
    fis.close();
    fos.flush();
    fos.close();
    }
    private static void DecFile(File encFile,File decFile)throws Exception{
    if(!encFile.exists()) {
    System.out.println("encrypt file not exixt");
    }
    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);
    }
    System.out.println("读出并写入成功!");
    fis.close();
    fos.flush();
    fos.close();
    }

    }

     

  • 相关阅读:
    asp.net core 参数使用
    dotnetcore EF 表达式
    dotnetcore EF 查询筛选
    flowable流程中心设计之子流程(九)
    Spring Boot源码阅读如何加载环境变量(二)
    flowable流程中心设计之网关(八)
    idea阅读源码无download source解决方式
    Spring Boot源码阅读如何启动内置web容器(三)
    InheritableThreadLocal源码阅读
    Spring Boot源码阅读启动主流程(一)
  • 原文地址:https://www.cnblogs.com/liuxiaojieqqq/p/10116820.html
Copyright © 2020-2023  润新知