gpt4 book ai didi

java - 按名称找到目录中的特定文件并将文件保存到本地文件夹

转载 作者:行者123 更新时间:2023-12-01 13:10:04 35 4
gpt4 key购买 nike

我想找到一个名为 SAVE.properties 的文件。我看过不同的问题,似乎他们会回答我,但我看不到他们会回答我。

例如,我想检查目录(及其子文件夹)中是否存在 SAVE.properties。

我还想知道如何将 .properties 文件(然后从该位置读取它)保存到运行程序的目录中。如果从桌面运行,它应该将 .properties 文件保存在那里。

最佳答案

通过使用 Properties#store(OutputStream, String) 可以轻松实现保存属性,这允许您通过使用 OutputStream 来定义内容的保存位置。

所以你可以使用...

Properties properties = ...;
//...
try (FileOutputStream os = new FileOutputStream(new File("SAVE.properties"))) {
properties.store(os, "Save");
} catch (IOException exp) {
exp.printStackTrace();
}

您还可以使用Properties#load(InputStream)读取“属性”文件的内容。

仔细看看Basic I/O了解更多详情。

定位文件就像使用一样简单

 File file = new File("SAVE.properties");
if (file.exists) {...

这将检查当前工作目录中是否存在指定文件。

搜索子目录稍微复杂一些,并且需要您使用一些递归,例如......

public File find(File path) {

File save = new File(path, "SAVE.properties");
if (!save.exists()) {
save = null;
File[] dirs = path.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.isDirectory();
}
});
for (File dir : dirs) {
save = find(dir);
if (save != null) {
break;
}
}
}
return save;
}

使用find(new File("."))将从当前工作目录开始搜索。请注意,在适当的情况下,这可能会搜索您的整个硬盘。

关于java - 按名称找到目录中的特定文件并将文件保存到本地文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22951796/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com