我的想法是获取一个文件,但我不想列出所有文件。我有指定文件夹的地址,但没有名称。
基本上我想要
findFileInFolder(String folderName) --- 此方法返回一个随机文件名或在文件夹中创建的最旧文件
有没有人试过这样做?有什么想法可以避免列出数组中的所有文件然后取第一个吗?
添加:
以防万一我不清楚(我真的很抱歉我的英语。如果我听起来很有优势或咄咄逼人,请原谅我,这真的不是我的意图。)文件不是由人选择的,它是由机器不询问或显示文件,除了返回带有文件名的字符串的方法
String findFileInFolder(String 文件夹名称)
就像我评论的是 ram 和处理器的使用,因为这是次要过程而不是项目的主要过程,所以如果我必须阅读超过一千个文件,它将大大降低我的项目的性能:(
谢谢;)
更新:该程序在不同的计算机上运行,所以如果我可以访问目录而不是“思考”读取哪个文件,那就太好了。 =D
希望最后更新:抱歉打扰你们:)
从我读到的答案来看,没有办法。我的问题是:您认为有什么好的替代方案而不是做数组?我的想法是在文本文件中创建一个索引,并且只取第一行。
最佳答案
我决定使用这段代码,这不是我想要的,但它现在可以用。
public static String getFileToCrawl(String directory){
File dir = new File(directory);
String[] children = dir.list();
if (children == null) {
return "";
} else {
int i=0;
String filename = children[i];
while (i<children.length && !filename.contains(".txt")){
i++;
filename = children[i];
}
return filename;
}
}
如果有人喜欢它或知道改进此代码的方法,那真的很受欢迎;)如果您想免费使用它:D
关于java - 如何从java中的文件夹中获取单个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3360255/