java.nio 作为一个新的io包。提供一下文件处理思路:
java.nio.file.DirectoryStream;
java.nio.file.Files; // 文件工具
java.nio.file.Path;
java.nio.file.Paths; // 路径工具
import java.io.ObjectInputStream; // 对象输入流
import java.io.ObjectOutputStream; // 对象输出流
// 获得一个路径对象
Path path = Paths.get(String first, String ... more);
// 获得path路径下的一个文件(可以是文件夹)
path.resolve(String name) ;
// 创建一个文件流获得该流下的所有文件
// regex例如 "*.bin" 获得匹配的所有文件
try(DirectoryStream<Path> directoryStream = Files.newDirectoryStream(Path path, String regex) ){
for (Path path: directoryStream) { ... }
} catch (IOException | ClassNotFoundException e) { ... }
// 删除指定路径的文件
Files.deleteIfExists(Path path);
// 读取文件转为对象-反序列化
try (ObjectInputStream objectInputStream = new ObjectInputStream(Files.newInputStream(Path path))) {
return (T) objectInputStream.readObject();
}
// 将对象存储为文件-序列化
try (ObjectOutputStream objectOutputStream = new ObjectOutputStream(Files.newOutputStream(Path path))) {
objectOutputStream.writeObject(entity);
}
网友评论