gpt4 book ai didi

java - 获取目录的全名及其包含的字符串

转载 作者:行者123 更新时间:2023-12-01 11:52:01 25 4
gpt4 key购买 nike

我正在尝试使用 Java 通过目录包含的字符串来获取目录的全名。基本上,我的用例是我希望能够使用 Firefox 默认配置文件目录中的文件。所以我在 Windows 7 中的 Firefox 配置文件目录具有以下路径:

C:\Users\myUser\AppData\Roaming\Mozilla\Firefox\Profiles\s529v6bj.default

我想使用该目录中的 prefs.js 文件。但是,当将我的代码移植到另一台机器时,.default 之前的字符串可以是任何内容,default 之后甚至可能有更多字符。我可以保证的一件事是 Profiles 中只有一个目录包含字符串“default”。我希望目录以字符串形式返回,基本上就像...

String ffProfileDir = System.getProperty("user.home")+"\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\*.default*";

当然,我知道只是在 .default 的两侧添加一些星号并不能解决问题。有什么建议吗?

最佳答案

这应该可以满足您的需求。

public class DirectoryReader {
public static void main(String[] args) {
readDirectory();
}

public static void readDirectory() {
String root = System.getProperty("user.home") + "\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\";
File file = traverseFolder(new File(root));
String fileName = file.getName(); // if you want to get the directory name
}

public static File traverseFolder(File root) {
if (root.isDirectory()) {
File[] files = root.listFiles();
if (root == null) {
return null;
}

for (File f : files) {
String fileName = f.getName();
if (fileName.matches(".*default.*")) {
System.out.println(fileName);
return f;
}
}
}

return null;
}
}

关于java - 获取目录的全名及其包含的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28725139/

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