Java中文件读写函数的使用方法及注意事项
Java 是一门非常强大的编程语言,对于文件读写也提供了丰富的相关 API 支持。在 Java 中,我们可以通过 InputStream、OutputStream、Reader、Writer 等类来进行文件读写操作。本文将向大家介绍如何使用 Java 中的文件读写函数以及需要注意的事项。
1. 文件读取函数
Java 中常用的文件读取函数有 FileInputStream 和 FileReader 两个类。FileInputStream 适用于读取二进制文件内容,而 FileReader 则适用于读取文本文件内容。
FileInputStream 的使用方法如下所示:
import java.io.*;
public class FileInputDemo {
public static void main(String[] args) throws Exception {
FileInputStream fis=new FileInputStream("C:\\code\\Test.txt");
int data=fis.read();
while(data!=-1) {
System.out.println((char)data);
data=fis.read();
}
fis.close();
}
}
以上代码中,我们使用 FileInputStream 读取文件 Test.txt 的内容,并将读出的每一个字符打印出来。其中,read() 方法将一个字节读入到 data 变量中,返回的是一个整型,如果到达文件末尾则返回 -1。
接下来,我们将使用 FileReader 对文本文件进行读取操作:
import java.io.*;
public class FileReaderDemo {
public static void main(String[] args) throws Exception {
FileReader fr=new FileReader("C:\\code\\Test.txt");
int data=fr.read();
while(data!=-1) {
System.out.println((char)data);
data=fr.read();
}
fr.close();
}
}
以上代码中,我们使用 FileReader 读取了文本文件 Test.txt 的内容,与 FileInputStream 不同的是 FileReader 读取的内容是字符类型。
2. 文件写入函数
Java 中常用的文件写入函数有 FileOutputStream 和 FileWriter 两个类。FileOutputStream 适用于写入二进制文件内容,而 FileWriter 则适用于写入文本文件内容。
FileOutputStream 的使用方法如下所示:
import java.io.*;
public class FileOutputStreamDemo {
public static void main(String[] args) throws Exception {
String content="Hello World!";
FileOutputStream fos=new FileOutputStream("C:\\code\\Test.txt");
byte[] bytes=content.getBytes();
fos.write(bytes);
fos.close();
}
}
以上代码中,我们将字符串 "Hello World!" 写入到文件 Test.txt 中。我们首先使用 getBytes() 方法将字符串转换成一个字节数组,然后调用 write() 方法将字节数组写入到 FileOutputStream 对象中,此时系统会将这些字节写入到 Test.txt 文件中。最后,我们需要使用 close() 方法关闭 FileOutputStream 对象。
接下来,我们将使用 FileWriter 对文本文件进行写入操作:
import java.io.*;
public class FileWriterDemo {
public static void main(String[] args) throws Exception {
String content="Hello World!";
FileWriter fw=new FileWriter("C:\\code\\Test.txt");
fw.write(content);
fw.close();
}
}
以上代码中,我们将字符串 "Hello World!" 写入到 Test.txt 文件中。与 FileOutputStream 不同的是,FileWriter 可以直接写入字符串。
3. 注意事项
在使用 Java 进行文件读写操作时,需要注意以下几点:
(1)对于文件的读取和写入操作一定要进行异常处理,尤其是在文件不存在或文件路径无效的情况下需要特别注意。
(2)文件读写操作之后,一定要记得关闭相应的流,关闭的顺序与打开的顺序相反。
(3)在使用 FileWriter 写入文件时,如果文件原本不存在,则会自动创建该文件。但如果指定的路径是一个目录,则会抛出 IOException 异常。
(4)在进行文件读写操作时,需要考虑文件的编码格式,否则会出现乱码的情况。在读取文件时,需要指定文件的编码方式。在写入文件时,需要将字符串编码为指定的编码方式,否则写入的文件也会出现乱码。
(5)在进行文件读写操作时,需要考虑文件的大小,避免一次性读取或写入的数据过大导致内存溢出。为此,我们可以使用缓冲区来分批次进行读写操作,这样可以提高效率也能避免内存溢出的情况。
综上所述,Java 中的文件读写函数提供了非常便捷的操作方式。当我们需要读取或写入文件时,只需要实例化对应的流类,然后调用读写方法即可实现相关操作。同时我们还需要注意文件的行为方式以及编码方式等细节问题,从而最大程度地提高读写效率,避免出现不必要的错误。
