2011-09-03 86 views
1

我想移动到Java目录中但我不知道它的名称? Java是否提供了这样的功能?在不知道其名称的情况下移动到特定目录中

File srcFile = "C:/Entertainment/XXXXXXX/break.avi" 

我确定Entertainment中只有一个目录,但我不知道它的名字。如何移动XXXXXXX目录以访问其中的任何文件?

任何帮助?

+0

您可以在“Entertainment”中获得目录中的文件列表。如果只有一个,那么在列表中只有一个元素。 –

回答

4

尝试,

File file = new File("C:/Entertainment"); 
File[] files = file.listFiles(); 
1
File srcFile = new File("C:\\Entertainment"); 
srcFile = new File(srcFile, srcFile.list()[0]); 
srcFile = newFile(srcFile, "break.avi"); 
System.out.println(srcFile.getPath()); 
3
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"); 
0
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]

相关问题