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中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~