java中的文件操作总结(干货)

2025-05-29 0 53

File类简介

?

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
package com.file;

import java.io.File;

import java.io.IOException;

/**

* Created by elijahliu on 2017/2/10.

*/

public class filetest {

public static void main(String[] args) {

File file = new File("hello.txt");

//是否存在

if (file.exists()) {

//文件

System.out.println(file.isFile());

//路径(文件夹)

System.out.println(file.isDirectory());

File nameto = new File("new Hello.txt");

file.renameTo(nameto);//这里就是重命名文件的操作,直接新建一个file对象然后使用renameTo方法可以重命名文件

} else {

System.out.println("文件不存在");

try {

file.createNewFile();

System.out.println("文件已被创建");

} catch (IOException e) {

System.out.println("文件无法创建");

}

}

if (file.exists()) {

//删除文件

file.delete();

System.out.println("删除文件");

} else {

}

}

}

文件夹操作

?

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
package com.file;

import java.io.File;

/**

* Created by elijahliu on 2017/2/11.

*/

public class HelloFolder {

public static void main(String[] args) {

File folder = new File("my new folder");

if (folder.mkdir()) {//创建文件夹 判断是否成功

System.out.println("文件夹创建完成");

File newfolder = new File("myn new foleder - new");

folder.renameTo(newfolder);//这里重命名了文件夹 文件夹的重命名是可以单独更改一级的文件夹名的 而这一级下面的文件夹不变 保存目录结构

if (folder.delete()) {

System.out.print("done");//这里的删除只能删除空文件夹,如果文件夹中有东西,那么则不能删除,不问三七二十一直接删除一个非空文件夹是非常不负责任的

} else {

System.out.println("fail");

}

}else{

if (folder.exists()) {

System.out.println("文件夹已经存在不用创建");

}else{

System.out.println("文件夹创建失败");

}

}

File folders = new File("my new folder/one/two/three/main");

folders.mkdirs();//在java中用mkdir只能创建一个,mkdirs可以创建多级目录

}

}

文件属性设置

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17
package com.file;

import java.io.File;

/**

* Created by elijahliu on 2017/2/11.

*/

public class SetFileProperty {

public static void main(String[] args){

File file = new File("test.file");

if (file.exists()){

file.setWritable(true);//可写

file.setReadable(true);//可读

file.setReadOnly();//只读

}

}

}

遍历文件夹

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
public void printFiles(File dir,int tab) {//tab为不同目录结构的缩进量

if (dir.isDirectory()) {

File next[] = dir.listFiles();//判断如果是目录 则返回目录所有的文件名数组用于遍历文件夹

for (int i = 0;i<next.length;i++) {//层次缩进输出

System.out.print("---");

}

for(int i = 0;i<next.length;i++) {//这里用了递归获取目录结构

System.out.println(next[i].getName());

if (next[i].isFile()) {

printFiles(next[i],++tab);

}

}

}

}

文件简单读写

?

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

42

43

44

45

46

47

48

49

50

51

52

53
package com.file;

import java.io.*;

/**

* Created by elijahliu on 2017/2/11.

*/

public class ReadFile {

public static void main(String[] args) {

File file = new File("new Hello.txt");

if(file.exists()){

System.err.print("exsit");

try (FileInputStream fis = new FileInputStream(file)) {//文件输入流 这是字节流

InputStreamReader isr = new InputStreamReader(fis,"UTF-8");//inputstreamReader是一个字节流,将字节流和字符流转化的时候,就需要制定一个编码方式,不然就会乱码

BufferedReader br = new BufferedReader(isr);//字符缓冲区

String line;

while((line = br.readLine())!=null){//这里将缓冲区里的内容如果非空就读出来打印

System.out.println(line);

}

br.close();//最后将各个线程关闭

isr.close();

fis.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

File newfile = new File("newtext.txt");

try {

FileOutputStream fos = new FileOutputStream(newfile);//这里如果文件不存在会自动创建文件

OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");//和读取一样这里是转化的是字节和字符流

BufferedWriter bw = new BufferedWriter(osw);//这里是写入缓冲区

bw.write("厉害了我的哥");//写入字符串

bw.close();//和上面一样 这里后打开的先关闭 先打开的后关闭

osw.close();

fos.close();

System.out.println("done");

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:http://www.jianshu.com/p/5770760f83c1#

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 java中的文件操作总结(干货) https://www.kuaiidc.com/118816.html

相关文章

发表评论
暂无评论