详解Java中IO流:文件读写实战案例
Java中的I/O流(Input/Output Streams)是Java用于处理各种输入/输出操作的工具。主要包括以下几种:
FileInputStream和FileOutputStream:用于读写磁盘文件。
FileInputStream:从文件中读取数据。
FileOutputStream:将数据写入文件。
BufferedReader和BufferedWriter:基于字符流的缓冲读写器。
BufferedReader:用于从字符输入流中高效地逐行读取内容。
BufferedWriter:用于将字符输出流的内容追加到缓冲区,然后逐行写入到磁盘文件或字符输出流中。
实战案例:
文件读写:
import java.io.*;
public class FileReadWrite {
public static void main(String[] args) {
// 读取文件
String content = readFile("test.txt");
System.out.println("Content before editing: " + content);
// 编辑文件
content = content.replace("Hello", "World!");
writeFile("test.txt", content);
// 再次读取并比较
content = readFile("test.txt");
System.out.println("Content after editing: " + content);
}
private static String readFile(String fileName) {
StringBuilder contentBuilder = new StringBuilder();
try (BufferedReader br = new BufferedReader(new FileReader(fileName)))) {
String line;
while ((line = br.readLine()) != null) {
contentBuilder.append(line).append("\n");
}
} catch (IOException e) {
e.printStackTrace();
}
return contentBuilder.toString();
}
private static void writeFile(String fileName, String content) {
try (PrintWriter writer = new PrintWriter(new FileWriter(fileName)))) {
for (String line : content.split("\n")) {
writer.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用IO流处理网络请求(例如GET或POST数据):
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class NetworkRequestHandling extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// GET请求处理示例
String data = "Hello from Network Request!";
response.getWriter().write(data);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// POST请求处理示例(接收用户输入的数据)
String postData = request.getParameter("userInput");
if (postData != null) {
response.getWriter().write("User Input: " + postData));
} else {
response.getWriter().write("No user input provided.");
}
}
}
以上就是Java中IO流:文件读写实战案例的详细解释。
还没有评论,来说两句吧...