1. BIO: blocking input/output 同步阻塞
public static void fileTest() throws Exception {
FileWriter fileWriter = new FileWriter(filePath, true);
fileWriter.write("nihao");
fileWriter.close();
FileReader fileReader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuffer bf = new StringBuffer();
String str;
while ((str = bufferedReader.readLine()) != null) {
bf.append(str + "\n");
}
bufferedReader.close();
fileReader.close();
System.out.println(bf.toString());
}
2.NIO: 同步非阻塞
public static void fileNew() throws Exception {
Files.write(Paths.get(filePath), "nihao".getBytes(StandardCharsets.UTF_8), StandardOpenOption.APPEND);
byte[] data = Files.readAllBytes(Paths.get(filePath));
System.out.println(new String(data, StandardCharsets.UTF_8));
}