美好的一天!Java。文件和文件夾。無法定義類型
我用Java編寫了這個方法,它必須搜索文件夾中的文件並對它們進行一些操作。
所以問題是,當我試圖檢查我有什麼(文件或目錄),我在兩種情況下都收不到任何東西!但正如我所看到的路徑看起來正確。
我該如何解決這個問題?
下面是代碼:
public void searchInDir(){
File inputFile = new File(this.fileName);
String[] namesOfFilesDir = inputFile.list();
for (int i = 0; i < namesOfFilesDir.length; i++)
{
String normalPath = this.getNormalPath(inputFile.getCanonicalPath()); //C:\User -> C:\\User
// Two separators for correcting path to file
String pathToCurrentFile = normalPath + File.separator + File.separator + namesOfFilesDir[i];
File f = new File(pathToCurrentFile, namesOfFilesDir[i]);
System.out.printf("FileName=%s, Path=[%s]\n", namesOfFilesDir[i], pathToCurrentFile);
System.out.println(f.isDirectory());//False
System.out.println(f.isFile());//False too
//Some other code
}
}
例如this.fileName由路徑到文件夾(以及該文件夾包括一個文件夾和2個文件)。
下一個我:
FileName=Readme.txt, Path=[C:\\workspace\\Grep\\t\\Readme.txt]
false
false
FileName=t2, Path=[C:\\workspace\\Grep\\t\\t2]
false
false
FileName=test.txt, Path=[C:\\workspace\\Grep\\t\\test.txt]
false
false
確定。節目說。
讓我們以打印下一個代碼爲例。
File f = new File("C:\\workspace\\Grep\\t\\Readme.txt");
System.out.println(f.isFile());
程序將打印「True」。
不知道你想要什麼來完成,但爲什麼不使用File.listFiles(),它爲您提供了正確的文件對象 – 2011-01-29 19:43:33
它是獲取文件夾中的所有文件並在其中查找信息的方法的一部分。所以它使用遞歸。這就是爲什麼我需要知道一種文件。 但我只是初學者,現在我明白這是非常糟糕的代碼。 – ExiRe 2011-01-29 20:03:19