> 文章列表 > Java 文件操作

Java 文件操作

Java 文件操作

字符流-Writer和Reader用于读取文本-BufferedReader(new FileReader("path"))  读取文本文件-BufferedWriter(new FileWriter("path"))  写入到文本文件
字节流-InputStream和OutputStream图片、二进制文件-BufferedInputStream(new FileInputStream(new File("path")))  读取二进制文件-BufferedOutputStream(new FileOutputStream(new File("path")))  输出到外部文件不同数据类型所占字节数:
byte 1
char 2
int 4
double 8
float 4
short 2
long 8
boolean 1向文件写入数据的时候,byte[] buffer = new byte[1024]是一个万精油的操作
因为它不论是写入字符还是字节效率都不错在Java中,数据写入流(如OutputStream)的write()方法有多个重载形式,
其中最常用的形式是write(byte[] b, int off, int len)。该方法有三个参数,分别是:1. byte[] b:该参数表示要写入的数据缓冲区,即要写入的数据存储在哪个字节数组中。write()方法会从该缓冲区中读取数据,并将其写入到输出流中。2. int off:该参数表示要写入的数据在缓冲区中的起始偏移量,即从缓冲区的哪个位置开始写入数据。例如,如果off等于2,则表示从缓冲区的第3个字节开始写入数据。如果off大于等于缓冲区的长度,则write()方法不会写入任何数据。3. int len:该参数表示要写入的数据的长度,即要写入多少个字节的数据。如果len小于等于0,则write()方法不会写入任何数据。如果len大于缓冲区中剩余的字节数,则write()方法只会写入剩余的字节数。

目录

1、向文件写入内容

2、读取文件内容

3、删除文件

4、将内容复制到另一个文件夹 

5、输出文件大小

6、文件重命名

7、设置文件只读

8、设置文件可写

9、新建空文件

10、判断两个文件路径是否一致


 

1、向文件写入内容

//写入当当前路径下FileWriter fileWriter = new FileWriter(".\\\\robots.txt");BufferedWriter writer = new BufferedWriter(fileWriter);writer.write("Hello World");writer.close();

运行结果:当前目录下出现一个 "robots.txt"文件,内容为"Hello World"

2、读取文件内容

使用 readLine() 方法来读取文件内容

//读取当前路径下的文件"robots.txt"
FileReader fileReader = new FileReader(".\\\\robots.txt");BufferedReader reader = new BufferedReader(fileReader);String str;while ((str = reader.readLine()) != null){System.out.println(str);}

3、删除文件

使用 delete() 方法来删除文件并返回一个boolean类型表示删除结果

File file = new File(".\\\\src\\\\main\\\\java\\\\io\\\\readme.txt");if (file.delete()){System.out.println("删除成功!");}else{System.out.println("删除失败!");}

4、将内容复制到另一个文件夹 

FileReader fileReader = new FileReader(".\\\\robots.txt");BufferedReader reader = new BufferedReader(fileReader);FileWriter fileWriter = new FileWriter(".\\\\result.txt");BufferedWriter writer = new BufferedWriter(fileWriter);String str="";while ((str = reader.readLine()) != null){writer.write(str+"\\n");}//关闭资源reader.close();writer.close();

5、输出文件大小

File file = new File(".\\\\robots.txt");if (file.exists()){System.out.println("文件大小为 "+file.length()+"KB");}

6、文件重命名

// 旧的文件或目录File oldName = new File("./runoob-test.txt");// 新的文件或目录File newName = new File("./runoob-test-2.txt");if (newName.exists()) {  //  确保新的文件名不存在throw new java.io.IOException("file exists");}if(oldName.renameTo(newName)) {System.out.println("已重命名");} else {System.out.println("Error");}

7、设置文件只读

File file = new File(".\\\\info.txt");file.setReadOnly();//设置只读System.out.println("当前文件可写性: "+file.canWrite());//false

8、设置文件可写

File file = new File(".\\\\info.txt");file.setWritable(true); //设置可写System.out.println("当前文件可写性: "+file.canWrite());//true

9、新建空文件

//当前目录下创建一个文件"a.csv"
File file = new File(".\\\\a.csv");file.createNewFile();

10、判断两个文件路径是否一致

File file = new File("D:\\\\hello.png");File file1 = new File("D:\\\\a.jpg");if (file1.compareTo(file) == 0){System.out.println("两个文件路径一致");}else {System.out.println("两个文件路径不一致");}