12月18日

今天继续学IO流
文件读取(FileReader)
FileReader用于从文件中读取字符数据。例如,读取一个文本文件:

java
import java.io.FileReader;
import java.io.IOException;

public class FileReaderExample {
public static void main(String[] args) {
try (FileReader fr = new FileReader("example.txt")) {
int data;
while ((data = fr.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,使用FileReader读取文件example.txt中的字符数据并输出。
文件写入(FileWriter)
FileWriter用于向文件中写入字符数据。例如,向一个文件写入文本数据:

java
import java.io.FileWriter;
import java.io.IOException;

public class FileWriterExample {
public static void main(String[] args) {
try (FileWriter fw = new FileWriter("example.txt")) {
String content = "Hello, World!";
fw.write(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,使用FileWriter将字符串"Hello, World!"写入文件example.txt中。
缓冲流的使用
缓冲流可以提高I/O操作的效率,减少系统调用的次数。常见的缓冲流类包括BufferedInputStream、BufferedOutputStream、BufferedReader和BufferedWriter。
缓冲字符输入流(BufferedReader)
BufferedReader用于高效地读取字符数据。例如,读取一个文本文件并按行输出:

java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class BufferedReaderExample {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,使用BufferedReader读取文件example.txt中的字符数据,并按行输出。缓冲字符输出流(BufferedWriter)
BufferedWriter用于高效地写入字符数据。例如,向一个文件写入多行文本数据:

java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedWriterExample {
public static void main(String[] args) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter("example.txt"))) {
bw.write("Hello, World!");
bw.newLine(); // 写入一个行分隔符
bw.write("This is a test.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,使用BufferedWriter将多行文本数据写入文件example.txt中。

posted @   头发少的文不识  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示