преобразовать строку в имя каталога - PullRequest
2 голосов
/ 30 января 2012

Вот мой случай:

String dir = "C:/root/dir1/";
for(File f: new File(dir).listFiles()) {

}

При выполнении:

System.out.println(new File(dir).isDirectory());
System.out.println(new File(dir));

дает

false
root/dir1

Путь, сохраненный в строке, действителен. При преобразовании строки в тип файла он теряет разделитель; как сохранить имя каталога?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 31 января 2012

Для создания каталога используйте следующий код. Обратите внимание на использование метода .mkdir () и двойной обратной косой черты.

В вашем коде я поставил бы System.out.println (новый файл (dir) .isFile () вернул бы true.

 import java.io.File;

 public class MakeDirectory {

 public static void main(String[] args) {
    File f = new File("c:\\MyFolder");
    f.mkdir();

  }
 }
0 голосов
/ 30 января 2012

Делая «root / dir1 /» вместо «/ root / dir1 /», вы скажете ему искать $ pwd / root / dir1, $ pwd в java обычно из classpath, что, скорее всего, наиболее вероятно. не существует.

0 голосов
/ 30 января 2012

Это так просто: root/dir1 не каталог . Это может быть вызвано несколькими причинами:

  • Папка не существует.
  • Это файл вместо папки.
  • Родительская папка не указана правильно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...