深入剖析Java中的IO流操作:实例与解析
Java中的IO(Input/Output)流操作是处理文件、网络数据等输入输出任务的关键部分。以下是一些主要的IO流操作实例和解析:
File Input/Output:
FileReader
和FileWriter
:用于读写文件内容,例如:try (FileReader fr = new FileReader("input.txt");
FileWriter fw = new FileWriter("output.txt")) {
String content = fr.readLine();
fw.write(content.toUpperCase());
} catch (IOException e) {
e.printStackTrace();
}
BufferedReader
和BufferedWriter
:基于字符缓存,提高读写效率:try (BufferedReader br = new BufferedReader(new FileReader("input.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt")))) {
String line;
while ((line = br.readLine()) != null) {
bw.write(line.toUpperCase());
bw.newLine(); // 保证换行
}
} catch (IOException e) {
e.printStackTrace();
}
网络 Input/Output:
Socket
和ServerSocket
:用于建立和管理客户端-服务器之间的连接,例如:ServerSocket server = new ServerSocket(8080);
Socket client = server.accept(); // 接受一个客户端
try (PrintWriter writer = new PrintWriter(client.getOutputStream(), true)) {
writer.println("Hello, Client!"); // 向客户端发送信息
}
client.close();
server.close();
其他 IO 流操作:
InputStream
和OutputStream
:用于处理字节流,例如:try (InputStream is = new FileInputStream("input.txt"));
OutputStream os = new FileOutputStream("output.txt")) {
byte[] content = new byte[1024]; // 读写缓冲区
while (true) { // 防止循环过早结束,确保读取完整行
int read = is.read(content);
if (read == -1) { // 文件已关闭或者IO异常
break;
}
os.write(content, 0, read)); // 写入缓冲区
}
is.close(); // 关闭输入流
os.close(); // 关闭输出流
} catch (IOException e) {
e.printStackTrace();
}
以上就是Java中IO流操作的实例和解析。理解这些基础概念并灵活运用,将有助于你进行各种类型的文件处理和网络通信任务。
还没有评论,来说两句吧...