我试图获取包含类型
的dictonary中的文件像:
的src / mime.txt
的src / pic1.png
String path = "dic images/";
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
uploadFile(path + "" + listOfFiles[i].getName());
}
}
这不起作用导致listOfFiles[i].getName()
我只得到&#34; pic1&#34;你是那种类型还是?
答案 0 :(得分:2)
使用getAbsolutePath
代替getName
试试这个:
File folder = new File("your path");//for example D:/java
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++)
if (listOfFiles[i].isFile()) {
System.out.println(listOfFiles[i].getAbsolutePath());
}
如果您还需要打印子文件夹中所有文件的全名,请尝试以下方法:
public static void main(String[] args){//or whatever to call the printFiles for the first time
File folder = new File("D:/java");
printFiles(folder);
}
static void printFiles(File folder) {
File[] listOfFiles = folder.listFiles();
for (File f : listOfFiles) {
if (f.isFile()) {
System.out.println(f.getAbsolutePath());
}
else
printFiles(f);
}
}
答案 1 :(得分:0)
使用NIO.2可以这样做:
public void findAllFilesInDirectory(Path pathToDir) throws IOException {
Files.walkFileTree(pathToDir, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
if (Files.isRegularFile(file)) {
System.out.println(file.toString());
}
return FileVisitResult.CONTINUE;
}
});
}
此打印路径指向所选目录中的所有常规文件。它还会打印子目录中的常规文件。
文档: http://docs.oracle.com/javase/tutorial/essential/io/walk.html