im正在尝试获取dictionary中的文件,其中包括类型
类似:
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()
,我只得到了带有类型或?的"pic1"?
使用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);
}
}
使用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