io流
文件操作
删除 File f = new File("d:/qr.png");
if(f.exists()) f.delete();
建立空文件
f.createNewFile();
移动文件(修改文件的位置及名称) 相当于 剪贴粘贴
f.renameTo(new File("d:/abc.txt"));


目录操作
建立目录
f.mkdir();
f.mkdirs(); 建立多级目录

删除目录
f.delete(); 只能删除空目录或文件

 

1 使用递归实现删除(非空目录)

package j09;

import java.io.File;

public class Filetext {

public static void shanchu(File file) {
if (file.isDirectory()) {
File sd[] = file.listFiles();
for (File files : sd) {
shanchu(files);
}file.delete();
} else {
file.delete();
}
}

public static void main(String[] args) {

File f = new File("D:\\ads");

shanchu(f);
}

}

2 实现统计一个目录中,各种文件的个数。

package j09;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

public class Tongji {

public static void main(String[] args) {

File f = new File("E:\\java\\");
tongji(f);
System.out.println(dsa.size());
System.out.println(dsa.toString());
dsa.forEach((x, c) -> {
System.out.printf("%s=%d \n", x, c);
});
}

static int num = 0;

static Map dsa = new HashMap();

public static void tongji(File file) {
File fs[] = file.listFiles();
if (file.isDirectory()) {
for (File fa : fs) {
tongji(fa);
}
} else {
String sd = file.getName();
String ds;
if (sd.lastIndexOf(".") != -1) {
ds = sd.substring(sd.lastIndexOf("."));
} else {
ds = "未知";
}
if (dsa.containsKey(ds)) {
dsa.put(ds, Integer.parseInt(dsa.get(ds).toString()) + 1);
} else {
dsa.put(ds, 1);
}

}

}

}

 

输入流

输出流

字节流 InputStream OutputStream
FileInputStream FileOutputStream

实现文件复制

字符流 Writer Reader
FileWriter FileReader
BufferedReader BufferedWriter

ascii码文件,本质就是文本文件,里边保存的是字符串

 实现文件的拷贝功能(FileInputStream FileOutputStream)小型文件

package j09;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Filec {

public static void main(String[] args) throws IOException {
File fi=new File("asd.txt");
FileInputStream fis=new FileInputStream(fi);
FileOutputStream fio=new FileOutputStream("add.txt");
byte[] buf=new byte[fis.available()];
fis.read(buf);
fio.write(buf);
fis.close();
fio.close();
System.out.println(fi.length());
}

}

2 要求实现判断两个文件是不是一个文件。

package j09;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Random;

public class Fileyi {

public static void main(String[] args) throws IOException {
File file = new File("D:\\a.iso");
File fil = new File("D:\\b.iso");

FileInputStream fi = new FileInputStream(file);
FileInputStream fio = new FileInputStream(fil);
byte[] buf1 = new byte[100000];
byte[] buf2 = new byte[100000];

String str="";
if (file.length() == fil.length()) {
Random rand = new Random();
for (int i = 0; i < 10; i++) {
int a = rand.nextInt((int) (file.length() + 1));

fio.read(buf2);
fi.read(buf1);
String sd=new String(buf1);
System.out.println(buf1);
System.out.println(buf2);
String sds=new String(buf2);

// if(new String(buf2).contains(new String(buf1))) {
if(sd.contains(sds)) {
str="相同";
}else {str="不同";}
}
}else {
str="不同";
}
System.out.println(str);
}

}

posted on 2020-06-09 20:08  今进  阅读(178)  评论(0)    收藏  举报



感谢留言批评