Записать в файл все числа

193
12 апреля 2017, 12:32

Нужно из файла записать в другой файл все числа, например:

Файл: 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()];
}

Знаю, что можно реализовать с помощью регулярных выражений, но пока не знаю как.

Answer 1

У меня получилось такое решение:

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();
                    }
         });
}
Answer 2
  1. Читаете строку и отправляете ее в StringTokenizer в качестве разделителя, используя символ пробела.
  2. Для каждого токена делаете Integer.parseInt(token).
  3. Если не будет исключения - значит это число, пишем его в выходной файл + пробел. Иначе - пропускаем и берем следующий токен.
READ ALSO
Подскажите, как открыть исходный код в Intellij Idea в новом проекте?

Подскажите, как открыть исходный код в Intellij Idea в новом проекте?

Создал, загрузил, открыл новый проект в Intellij Idea и вижу иерархию вместо исходного кода, надписи с командамиПытался решить проблему сам, но не справился

269
Реализация Mobile First

Реализация Mobile First

Всем приветРебят, подскажите способы реализации Mobile First принципа верстки

204
Проблемы с обновлением на localhost

Проблемы с обновлением на localhost

В общем, с недавних пор перестал корректно работать browsersyncв чем суть: есть openserver, на нем хост с проектом на gulp, запускаю зеркальный хост через...

282
Как выбрать данные из JSON средствами angular.js

Как выбрать данные из JSON средствами angular.js

Добрый день всемЕсть код, который выводит данные из jsonовского файла на страницу

217