Есть файл из которого я считаю пути к файлам, заношу в список и дальше считаю сколько в этих путях файлов.
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;
}
}
вопрос: Что мне сделать чтоб первая запись нормально отрабатывала?
Напишите так:
String pathToFile = "D:\\tt\\dump.txt";
так должно сработать. Символ разделитель пути задается константой File.separator и может отличаться в разных платформах. Обратный слэш воспринимается и в Windows и Unix системах. Двойной обратный слэш применяется для экранирования символа backslash
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости