Добрый день!
Я написал метод на 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
Ok. Программа говорит, что.
Позволяет напечатать следующий код в качестве примера.
File f = new File("C:\\workspace\\Grep\\t\\Readme.txt");
System.out.println(f.isFile());
Программа выведет «True».