package com.javarush.task.task19.task1923;
/*
Слова с цифрами
*/
/*
Данные в первом файле:
fgfs1 12 yr
rew34 435
54t yer
куцп3
आप5ला कोड श2ब्द पूर्ण0पणे कार्य करत नाही
*/
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new FileReader(args[0]));
BufferedWriter writer = new BufferedWriter(new FileWriter(args[1]));
String line;
while (reader.ready()){
String [] s = reader.readLine().split(" ");
for (String word:s) {
Pattern p = Pattern.compile(".*\\d.*");
Matcher m = p.matcher(word);
if (m.find()){
writer.write(word + " ");
}
}
}
reader.close();
writer.close();
}
}Vadim Mazitov
35 уровень
Валидатор прошел, но программа не работает. Второй файл всегда пустой. Кто-нибудь может объяснить почему так?
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгений Калинов
8 декабря 2018, 19:43
Просто при создании райтера добавь параметр new FileWriter(args[1], true), а что это почитай)
0
Vadim Mazitov Backend Developer
8 декабря 2018, 22:45
райтер чистит документ в момент открытия, так что тут и без аппенда должно все нормально быть
0
--------Master
8 декабря 2018, 17:03
Проверил у себя - нормально работает, пути к файлам точно правильно задаешь?
0
Vadim Mazitov Backend Developer
8 декабря 2018, 17:35
Да, если попробовать вывести информацию с файла 1 (ридера), выводит. И содержимое файла 2 (райтер) удаляет при каждом запуске программы. Так что пути верные
0
--------Master
8 декабря 2018, 19:20
А программа точно отрабатывает до конца (до writer.close) и завершается без ошибок?
0
Vadim Mazitov Backend Developer
8 декабря 2018, 22:50полезный
В общем, сейчас запустил еще раз программу и она нормально отработала. Судя по всему проблема была в текстовом редакторе или даже не знаю в чем еще
+1
Vadim Mazitov Backend Developer
8 декабря 2018, 23:18решение
В общем, я кажется нашел ошибку, при содержимом документа как на картинке, он почему то читает содержимое, которое было до этого. В чем причина и как это исправить я не знаю. Сейчас опять столкнулся с этой проблемой в очередной задаче
![]()
+2