我想移动到Java目录中但我不知道它的名称? Java是否提供了这样的功能?在不知道其名称的情况下移动到特定目录中
File srcFile = "C:/Entertainment/XXXXXXX/break.avi"
我确定Entertainment中只有一个目录,但我不知道它的名字。如何移动XXXXXXX目录以访问其中的任何文件?
任何帮助?
我想移动到Java目录中但我不知道它的名称? Java是否提供了这样的功能?在不知道其名称的情况下移动到特定目录中
File srcFile = "C:/Entertainment/XXXXXXX/break.avi"
我确定Entertainment中只有一个目录,但我不知道它的名字。如何移动XXXXXXX目录以访问其中的任何文件?
任何帮助?
尝试,
File file = new File("C:/Entertainment");
File[] files = file.listFiles();
File srcFile = new File("C:\\Entertainment");
srcFile = new File(srcFile, srcFile.list()[0]);
srcFile = newFile(srcFile, "break.avi");
System.out.println(srcFile.getPath());
File srcDir = new File("C:/Entertainment/");
File srcFile = null;
for (File dirMember : srcDir.listFiles()) {
if (!dirMember.isDirectory()) {
continue; // we don't need regular files
}
if (dirMember.getName().equals(".")) {
continue; // we don't need this directory
}
if (dirMember.getName().equals("..")) {
continue; // we don't need the parent directory
}
// This is the one you need.
srcFile = new File(new File(srcDir, dirMember.getName()), "break.avi");
}
你也可以使用FileFilter,e.g一个从Commons IO
File dir = new File("C:/Entertainment/");
File[] files = dir.listFiles(DirectoryFileFilter.INSTANCE); // returns all subdirs
srcFile = new File(files[0], "break.avi");
File outer= new File("C:/test");
File inner = outer.listFiles()[0];//if you are sure there is one
File[] listOfFilesInInnerMost = inner.listFiles();
System.out.println("Files: " + Arrays.asList(listOfFilesInInnerMost));
将打印
文件:[C:\测试\东西\文本(2)。txt文件,C:\测试\东西\文本(3)。txt文件,C:\测试\东西\的text.txt]
您可以在“Entertainment”中获得目录中的文件列表。如果只有一个,那么在列表中只有一个元素。 –