我一直试图从文件夹和子文件夹递归地使用某些txt文件中的一些数据(我想在这些txt文件中找到一些单词)(我必须从一些文件夹中找到这些文件,所有这些文件都是在Java中的同一文件夹中,我该怎么办?
答案 0 :(得分:0)
void processInput(final String directoryName) {
final File inputDirectory = new File(directoryName);
for (final String inputFile : inputDirectory.list()) {
final File file = new File(directoryName + File.separator
+ inputFile);
if (file.isDirectory()) {
processInput(directoryName + File.separator + inputFile);
} else {
processFile(file);
}
}
}
答案 1 :(得分:0)
我认为这是做到这一点的好方法:
private static void addfiles (File input,ArrayList<File> files)
{
if(input.isDirectory())
{
ArrayList <File> path = new ArrayList<File>(Arrays.asList(input.listFiles()));
for(int i=0 ; i<path.size();++i)
{
if(path.get(i).isDirectory())
{
addfiles(path.get(i),files);
}
if(path.get(i).isFile())
{
String name=(path.get(i)).getName();
if(name.lastIndexOf('.')>0)
{
int lastIndex = name.lastIndexOf('.');
String str = name.substring(lastIndex);
if(str.equals(".txt"))
{
files.add(path.get(i));
}
}
}
}
}
if(input.isFile())
{
String name=(input.getName());
if(name.lastIndexOf('.')>0)
{
int lastIndex = name.lastIndexOf('.');
String str = name.substring(lastIndex);
if(str.equals(".txt"))
{
files.add(input);
}
}
}
}