欢迎访问宙启技术站
智能推送

Java中文件读写函数的用法及注意事项

发布时间:2023-05-30 14:45:23

Java的文件读写函数主要是利用java.io包中的File类和相关类库来进行操作,其中常见的有FileInputStream类、FileOutputStream类、BufferedReader类、BufferedWriter类等。

1. FileInputStream类

FileInputStream类是Java对于文件输入流的封装类,它的常用构造函数如下:

FileInputStream(File file) throws FileNotFoundException:根据File对象创建文件输入流,如文件未找到则抛出FileNotFoundException异常。

FileInputStream(String fileName) throws FileNotFoundException:根据文件名创建文件输入流,如文件未找到则抛出FileNotFoundException异常。

在使用FileInputStream类进行文件读取时,一般可以结合InputStreamReader类或BufferedReader类来进行字符编码转换和数据缓存操作。

下面是使用FileInputStream类读取文件内容的示例代码:

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

FileInputStream fis = new FileInputStream(file);

InputStreamReader isr = new InputStreamReader(fis, "UTF-8");

BufferedReader br = new BufferedReader(isr);

String line;

while ((line = br.readLine()) != null) {

    System.out.println(line);

}

br.close();

isr.close();

fis.close();

2. FileOutputStream类

FileOutputStream类是Java对于文件输出流的封装类,它的常用构造函数如下:

FileOutputStream(File file) throws FileNotFoundException:根据File对象创建文件输出流,如文件未找到则抛出FileNotFoundException异常。

FileOutputStream(String fileName) throws FileNotFoundException:根据文件名创建文件输出流,如文件未找到则抛出FileNotFoundException异常。

在使用FileOutputStream类进行文件写入时,我们一般结合OutputStreamWriter类或BufferedWriter类来进行字符编码转换和数据缓存操作。

下面是使用FileOutputStream类写入文件内容的示例代码:

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

FileOutputStream fos = new FileOutputStream(file);

OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");

BufferedWriter bw = new BufferedWriter(osw);

bw.write("Hello, Java!");

bw.newLine();

bw.write("你好,Java!");

bw.newLine();

bw.close();

osw.close();

fos.close();

3. BufferedReader类和BufferedWriter类

BufferedReader类和BufferedWriter类都是Java对于字符流读写的封装类。它们的作用是将数据缓存起来,从而提高读写效率。

BufferedReader类的常用方法有:

public String readLine() throws IOException:读取一行字符,遇到文件末尾返回null。

BufferedWriter类的常用方法有:

public void write(String str) throws IOException:写入字符串。

public void newLine() throws IOException:写入换行符。

下面是使用BufferedReader类和BufferedWriter类进行文件操作的示例代码:

File file1 = new File("input.txt");

File file2 = new File("output.txt");

FileInputStream fis = new FileInputStream(file1);

InputStreamReader isr = new InputStreamReader(fis, "UTF-8");

BufferedReader br = new BufferedReader(isr);

FileOutputStream fos = new FileOutputStream(file2);

OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");

BufferedWriter bw = new BufferedWriter(osw);

String line;

while ((line = br.readLine()) != null) {

    bw.write(line);

    bw.newLine();

}

br.close();

isr.close();

fis.close();

bw.close();

osw.close();

fos.close();

4. 注意事项

在进行文件读写操作时,需要注意以下几点:

(1)在对文件进行操作前,一定要先判断文件是否存在。

(2)文件读写操作后一定要关闭文件输入输出流,释放系统资源。

(3)在进行文件读写操作时,应该指定文件的完整路径,避免出现找不到文件的错误。

(4)在进行文件读写操作时,应该使用try-catch-finally语句捕捉可能出现的异常情况,避免程序崩溃。

综上所述,Java中文件读写函数具有广泛的应用场景,掌握好它们的用法以及注意事项,可以帮助开发者更好地进行文件处理操作。