Java中文件读写函数的用法及注意事项
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中文件读写函数具有广泛的应用场景,掌握好它们的用法以及注意事项,可以帮助开发者更好地进行文件处理操作。
