Java File类如何实现文件读写操作
在Java中,java.io.File 类主要用于表示文件和目录的路径名,它本身并不提供文件读写的功能。要进行文件的读写操作,你需要使用其他类,如 FileInputStream、FileOutputStream、BufferedReader、BufferedWriter 等。下面是一些基本的示例:
写入文件
使用 FileOutputStream 和 BufferedWriter 可以将数据写入文件。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileWriteExample {
public static void main(String[] args) {
File file = new File("example.txt");
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
writer.write("Hello, World!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
读取文件
使用 FileInputStream 和 BufferedReader 可以从文件中读取数据。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class FileReadExample {
public static void main(String[] args) {
File file = new File("example.txt");
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用 Files 类(Java 7+)
Java 7 引入了 java.nio.file.Files 类,它提供了更简洁的方法来进行文件读写操作。
写入文件
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
public class NIOFileWriteExample {
public static void main(String[] args) {
String content = "Hello, World!";
try {
Files.write(Paths.get("example.txt"), content.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
}
读取文件
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
import java.util.List;
public class NIOFileReadExample {
public static void main(String[] args) {
try {
List lines = Files.readAllLines(Paths.get("example.txt"));
for (String line : lines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
这些示例展示了如何使用不同的类和方法来实现文件的读写操作。根据你的需求和Java版本,你可以选择最适合的方法。