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

Java函数中如何读写文件和处理IO流

发布时间:2023-06-03 08:48:58

Java中,文件IO是非常常见的操作。在Java中,我们可以使用标准类库中的文件处理类和IO流来进行文件读写和处理。

读取文件

文件读取的方法有多种,可以使用FileReader或BufferedReader类等。

1. 使用FileReader类读取文件

FileReader类用于以字符方式读取文件,读取文本文件比较方便。

FileReader fileReader = new FileReader("filename.txt");

int data = fileReader.read();

while(data != -1) {

    System.out.print((char) data);

    data = fileReader.read();

}

fileReader.close();

2. 使用BufferedReader类读取文件

BufferedReader类用于以缓冲方式读取文件,通过将字符缓存起来,减少了磁盘I/O操作的次数,从而提高了读取效率。

BufferedReader bufferedReader = new BufferedReader(new FileReader("filename.txt"));

String line;

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

    System.out.println(line);

}

bufferedReader.close();

写入文件

文件写入的方法也有多种,可以使用FileWriter或BufferedWriter类等。

1. 使用FileWriter类写入文件

FileWriter类用于以字符方式写入文件。

FileWriter fileWriter = new FileWriter("filename.txt");

fileWriter.write("Hello world!");

fileWriter.close();

2. 使用BufferedWriter类写入文件

BufferedWriter类用于以缓冲方式写入文件。

BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("filename.txt"));

bufferedWriter.write("Hello world!");

bufferedWriter.newLine();//换行

bufferedWriter.close();

处理IO流

Java IO流抽象了不同种类的输入输出设备,例如磁盘、屏幕、网络等,对程序员提供了统一的操作接口,使得同样的代码可以应对不同输入输出设备。

1. InputStream和OutputStream

InputStream和OutputStream是用来处理字节流的,它们是Java IO中最基础和常用的输入输出流。

InputStream inputStream; 

OutputStream outputStream;

2. Reader和Writer

Reader和Writer是用来处理字符流的,它们支持不同的字符编码,并且提供了一些特殊的字符操作功能。

Reader reader;

Writer writer;

3. FileInputStream和FileOutputStream

FileInputStream和FileOutputStream分别用于读取和写入文件的字节流。

FileInputStream fileInputStream = new FileInputStream("filename.txt");

FileOutputStream fileOutputStream = new FileOutputStream("filename.txt");

4. FileReader和FileWriter

FileReader和FileWriter分别用于读取和写入文件的字符流。

FileReader fileReader = new FileReader("filename.txt");

FileWriter fileWriter = new FileWriter("filename.txt");

总结

文件读写与IO流是Java中非常基础和常用的操作,在实际应用中,可以根据需要选择适合的类库和方法进行读写和处理。

Java提供了很多读写文件和处理IO流的类和方法,这些类和方法被封装为统一的API,为Java程序员提供了方便的文件处理方式。了解这些基础知识对于开发者来说是非常有必要的,也是学习Java的 步。