Выделяем числа
Считать с консоли 2 имени файла.
Вывести во второй файл все числа, которые есть в первом файле.
Числа выводить через пробел.
Закрыть потоки.
Пример тела файла:
12 text var2 14 8ю 1
Результат:
12 14 1
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// BufferedReader fileReader = new BufferedReader(new FileReader("c:/1.txt"));
// BufferedWriter fileWriter = new BufferedWriter(new FileWriter("c:/2.txt"));
BufferedReader fileReader = new BufferedReader(new FileReader(reader.readLine()));
BufferedWriter fileWriter = new BufferedWriter(new FileWriter(reader.readLine()));
// String str = "12 text var2 14 8ю 1";
//String[] arr = str.split(" ");
while (fileReader.ready()) {
String str = fileReader.readLine(); //считывает строку с файла
String[] arr = str.split(" ");
String result = "";
for (int i = 0; i < arr.length; i++) {
String x = arr[i];
try {
Integer z = Integer.parseInt(x);
result += String.valueOf(z) + " ";
} catch (NumberFormatException e) {
}
}
result = result.trim();
fileWriter.write(result + "\r\n");
}
fileReader.close();
reader.close();
fileWriter.close();
}
}
Привет!
Кто объяснит, почему не парсится первое число в файле: 1.txt ?
Содержимое файла 1.txt:
16 text var2 14 8ю 1
12 text var2 14 8ю 1
12 text var2 14 8ю 1
12 text var2 14 8ю 1
12 text var2 14 8ю 1
12 text var2 14 8ю 1
результат записи в файл 2.txt:
14 1
12 14 1
12 14 1
12 14 1
12 14 1
12 14 1
Andrii Gorshunov
41 уровень
Не парсится первое число
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Руслан Добров
23 декабря 2018, 19:27решение
Возможно дело в кодировке файла по умолчанию, возможно там есть символ которого не видно. Блокнот в Windows по умолчанию храниться в ANSI, попробуйте его перекодировать в UTF-8.
+3
Andrii GorshunovExpert
23 декабря 2018, 17:42
первое число в первой строчке не имеет значения ( пробовал 222 и 16 )
Виндовс 10,
0
Дмитрий СоснинExpert
24 декабря 2018, 06:12
у меня дак нормально этот код отрабатывает
0
Andrii GorshunovExpert
24 декабря 2018, 15:03
Возможно как выше написали, дело в кодировке. Я дебаггером проходился, и он не заскакивал к код после парсинга числа из строки, а все остальные итерации цикла заскакивали
0