读取:
Path p4=Paths.get("E:\\版本控制1\\服务端\\2.txt" );
try (BufferedReader reader=Files.newBufferedReader(p4, StandardCharsets.UTF_8)){
String line;
while ((line=reader.readLine())!=null){
System.out.println(line);
}
}
简化版读取:
List<String> contents=Files.readAllLines(p6);
contents.forEach(content->{
System.out.println(content);
});
写入:
try (BufferedWriter writer=Files.newBufferedWriter(p6,StandardCharsets.UTF_8)){
writer.write("春花秋月,暗语纷纷");
}
监测文件改变
Path path=Paths.get("E:\\版本控制1");
WatchKey key=path.register(watcher, ENTRY_MODIFY);
while (true){
key=watcher.take();
for (WatchEvent<?> event:key.pollEvents()){
if (event.kind()==ENTRY_MODIFY){
System.out.println(path.getFileName()+"改变了");
}
}
key.reset();
}
文件读取(通道,可选择位置):
Path p= Paths.get("E:\\版本控制1\\服务端\\2.txt");
ByteBuffer byteBuffer=ByteBuffer.allocate(1024);
FileChannel fileChannel=FileChannel.open(p,StandardOpenOption.READ);
long index=fileChannel.size()-2;
fileChannel.read(byteBuffer,index);
System.out.println(new String(byteBuffer.array(),StandardCharsets.UTF_8
));
Path p= Paths.get("E:\\版本控制1\\服务端\\2.txt");
ByteBuffer byteBuffer=ByteBuffer.allocate(1024);
AsynchronousFileChannel channel=AsynchronousFileChannel.open(p,StandardOpenOption.READ);
channel.read(byteBuffer, 0, byteBuffer, new CompletionHandler<Integer, ByteBuffer>() {
@Override
public void completed(Integer result, ByteBuffer attachment) {
System.out.println("duqu:"+result);
}
@Override
public void failed(Throwable exc, ByteBuffer attachment) {
System.out.println("cuowu");
}
});