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;
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 {
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();
}
}
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,将文件分割成三个文件
设计思路:将大文件读取出来存储在字符串数组内,将这个字符串数组分成若干个小部分,然后再将这几个小部分用文件存储起来;