1、使用Stream I/O读文件
要打开文件进行读取,可以使用 newInputStream(Path, OpenOption...)方法。此方法返回一个无缓冲的输入流,用于从文件中读取字节。
Path file = Paths.get("src/logfile.txt"); ;
try (InputStream in = Files.newInputStream(file);
BufferedReader reader =
new BufferedReader(new InputStreamReader(in))) {
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException x) {
System.err.println(x);
}
2、使用Stream I/O写文件
您可以使用该newOutputStream(Path, OpenOption...)方法创建文件,附加到文件或写入文件 。此方法打开或创建用于写入字节的文件,并返回未缓冲的输出流。
该方法采用可选OpenOption
参数。如果未指定打开选项,并且文件不存在,则会创建一个新文件。如果文件存在,它将被截断。此选项等效于使用CREATE
和TRUNCATE_EXISTING
选项调用方法。
以下示例打开一个日志文件。如果该文件不存在,则会创建它。如果文件存在,则将其打开以进行追加。
import static java.nio.file.StandardOpenOption.*;
import java.nio.file.*;
import java.io.*;
public class LogFileTest {
public static void main(String[] args) {
// Convert the string to a
// byte array.
String s = "Hello World! ";
byte data[] = s.getBytes();
Path p = Paths.get("./logfile.txt");
try (OutputStream out = new BufferedOutputStream(
Files.newOutputStream(p, CREATE, APPEND))) {
out.write(data, 0, data.length);
} catch (IOException x) {
System.err.println(x);
}
}
}
相关文档:https://docs.oracle.com/javase/tutorial/essential/io/file.html