文件与流

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();
}

}

 

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

原文地址:https://www.cnblogs.com/yandashan666/p/9982084.html