Нужно из файла записать в другой файл все числа, например:
Файл: 12 text var2 14 8v 1
Результат записи: 12 14 1
Пример кода:
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
Pattern p;
Matcher m;
String fileName1 = bf.readLine();
String fileName2 = bf.readLine();
char[] chars = new char[0];
String s;
BufferedReader reader = new BufferedReader(new FileReader(fileName1));
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName2));
while (reader.ready()) {
chars = new char[reader.read()];
}
Знаю, что можно реализовать с помощью регулярных выражений, но пока не знаю как.
У меня получилось такое решение:
try (BufferedWriter writer = Files.newBufferedWriter(Paths.get("output.txt"))) {
Files
//читаем построчно файл
.lines(Paths.get("input.txt"))
//разбиваем строки на лексемы
.flatMap(s -> Arrays.stream(s.split("\\s+")))
//оставляем только те, что являются числами
.filter(s -> s.matches("^[\\d]+$"))
//записываем в файл
.forEach(s -> {
try {
writer.write(s);
writer.write(" ");
} catch (IOException e) {
e.printStackTrace();
}
});
}
StringTokenizer в качестве разделителя, используя символ пробела.Integer.parseInt(token). Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости