InvalidPathException: Illegal char <:> at index 2

386
07 июля 2017, 04:40

Есть файл из которого я считаю пути к файлам, заношу в список и дальше считаю сколько в этих путях файлов.

String pathToFile = "D:/tt/dump.txt";
ArrayList<String> list = new MyFileReader().read(pathToFile);
for(String s1 : list) {
     System.out.println(Files.walk(Paths.get(s1))
         .filter(Files::isRegularFile)
         .map(Path::toFile)
         .collect(Collectors.toList()).size());
}

выскакивает данная ошибка входящий файл:

D:/example
D:/MyProgram
D:/otherfiles

при первом обращении кидается ошибка :

java.nio.file.InvalidPathException: Illegal char <:> at index 2: D:/example

но если код завернуть в try catch на первую строку кидается ошибка но все последующие нормально отрабатывают. и так на любую первую строку которую я введу.

 public class MyFileReader {
        public ArrayList<String> read(String File) throws FileNotFoundException, IOException {
            ArrayList<String> listOfPaths = new ArrayList<>();
            BufferedReader bufRead = new BufferedReader(new FileReader(File));
            String line;
            while ((line = bufRead.readLine()) != null) {
                listOfPaths.add(line);
            }
            bufRead.close();
            return listOfPaths;
        }
    }

вопрос: Что мне сделать чтоб первая запись нормально отрабатывала?

Answer 1

Напишите так:

String pathToFile = "D:\\tt\\dump.txt";

так должно сработать. Символ разделитель пути задается константой File.separator и может отличаться в разных платформах. Обратный слэш воспринимается и в Windows и Unix системах. Двойной обратный слэш применяется для экранирования символа backslash

READ ALSO
Не вызывается onCreate()

Не вызывается onCreate()

Начал изучать android Такая проблема, не вызывается метод onCreate()Создал тестовую активность TestActivity

367
Как сделать из BufferedImage картинку 0 и 1

Как сделать из BufferedImage картинку 0 и 1

ЗдравствуйтеУ меня есть черно-белое изображение в BufferedImage

324
Не отображает изображение в браузере

Не отображает изображение в браузере

Вроде написано все правильно, делала по урокам в интернете

398