我想从多个目录中读取多个文件。到目前为止,我的程序只能读取多个文件,直到某个限制。文件[]无法处理多个文件
public void filesTobeCollected(String validpath) throws Exception {
this.folder = new File(validpath);
// this.file = new ArrayList<>();
File[] fileEntry = folder.listFiles();
System.out.println("directory path" + fileEntry.length);
/*****File upload read****/
for (int i = 0; i < fileEntry.length; i++) {
/*this line weeds out other directories/folders*/
if (fileEntry[i].exists()) {
file.add(String.valueOf(fileEntry[i]));
}
}
}
,我通过这个函数发送值目录,
public List<String> filesTobeTested(ArrayList<String> file) throws
Exception {
Set<String> test = new HashSet<>();
test.add("src/test/resources/gfd");
test.add("src/test/resources/rds");
test.add("src/test/resources/oiu");
//test.add("src/test/resources/pol");
System.out.println("directory path 2" + test);
for (int i = 0; i < 1; i++) {
for (Iterator<String> it = test.iterator(); it.hasNext();) {
String f = it.next();
filesTobeCollected(f);
System.out.println("Found" + f);
}
这里提交[] FileEntry的似乎有一定的限制,因为我用推test.add(“SRC /测试/资源多个目录/ obj“)File [] fileEntry不能处理更多文件。 File [] fileEntry的任何替代方法是否包含无限数量或未知数量的文件?
你有没有得到任何异常? – Adi
为什么你有'for(int i = 0; i <1; i ++){'?这个for循环只执行一次;你可以把它删除。 –
'File [] fileEntry是否可以替代无限数量或未知数量的文件?' - 通常您应该使用像'ArrayList'而不是原始数组,但这不是问题,因为'listFiles();'已经分配一个适当大小的数组。请发布[mcve],以便我们重现此问题。 –