文件操作

删除一个多级文件夹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.io.File;

public class demol20 {
public static void main(String[] args) {
File s = new File("D:\\Javawork\\out");
delect(s);
}

public static void delect(File s){
File[] s1 = s.listFiles();
for (File file : s1) {
//如果是文件就直接删除
if(file.isFile()){
file.delete();
}else {
delect(file);
}
}
s.delete();
}
}

统计文件夹中每种文件的个数

1

文件排序

image-20231128103751335

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.io.*;
import java.util.Arrays;

public class demol22 {
public static void main(String[] args) throws IOException {
//建立读取字符流
FileReader s1=new FileReader("D:\\Javawork\\number.txt");
int a;
//建立集合接受数据
StringBuilder s2=new StringBuilder();
while ((a= s1.read())!=-1){
s2.append((char) a);
}
s1.close();
//将集合转成字符串
Integer[]arr= Arrays.stream(s2.toString().split("-")).map(Integer::parseInt).toArray(Integer[]::new);
//进行排序
int max=0;
for (int i = 0; i < arr.length-1; i++) {
if(arr[i]>arr[i+1]){
max=arr[i+1];
arr[i+1]=arr[i];
arr[i]=max;
}
}
String s3=Arrays.toString(arr).replace(", ","-");
String s4=s3.substring(1,s3.length()-1);
//建立写入源
FileWriter s5=new FileWriter("D:\\Javawork\\number.txt");
s5.write(s4);
s5.close();
}
}

对文件进行解压

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;

public class demol23 {
public static void main(String[] args) throws IOException {
//对文件进行解压
File s=new File("D:\\Javawork\\ddd.zip");
File s1=new File("D:\\Javawork");
unzip(s,s1);
}
//定义解压方法
public static void unzip(File s,File s1) throws IOException {
ZipInputStream s3=new ZipInputStream(new FileInputStream(s));
ZipEntry entry ;
while ((entry=s3.getNextEntry())!=null){
if(entry.isDirectory()){
File s4=new File(s1,entry.toString());
s4.mkdirs();
}else {
FileOutputStream s4=new FileOutputStream(new File(s1,entry.toString()));
int d;
while ((d= s3.read())!=-1){
s4.write(d);
}
s4.close();
s3.closeEntry();
}
}
}

}

对文件进行压缩

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package Day2.text1;

import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class demol25 {
public static void main(String[] args) throws IOException {
//数据源
File s0=new File("D:\\Javawork\\ddd\\aaa");
//存放位置
File s1=s0.getParentFile();
File s2=new File(s1,s0.getName()+".zip");
System.out.println(s2);
ZipOutputStream s3=new ZipOutputStream(new FileOutputStream(s2));
//创建递归
tozip(s0,s3, s0.getName());
//关闭
s3.close();
}

public static void tozip(File s0,ZipOutputStream s3,String name) throws IOException {
File[] s4 = s0.listFiles();
for (File s5 : s4) {
if(s5.isFile()){
ZipEntry s6=new ZipEntry(name+"\\"+s5.getName());
s3.putNextEntry(s6);
FileInputStream s7=new FileInputStream(s5);
int s;
while ((s=s7.read())!=-1){
s3.write(s);
}
s7.close();
s3.closeEntry();
}else {
tozip(s5,s3,name+"\\"+s5.getName());
}
}
}
}

更新于

请我喝[茶]~( ̄▽ ̄)~*

罗梓丰 微信支付

微信支付

罗梓丰 支付宝

支付宝