package com.javarush.test.level19.lesson10.home05;
/* Слова с цифрами
В метод main первым параметром приходит имя файла1, вторым - файла2.
Файл1 содержит строки со слов, разделенные пробелом.
Записать через пробел в Файл2 все слова, которые содержат цифры, например, а1 или abc3d
Закрыть потоки. Не использовать try-with-resources
*/
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.StringTokenizer;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(args[0]), StandardCharsets.UTF_8));
String line;
StringBuilder builder = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
StringTokenizer stringTokenizer = new StringTokenizer(line, " ");
while(stringTokenizer.hasMoreTokens()) {
String word = stringTokenizer.nextToken();
char[] ch = word.toCharArray();
for (char c : ch) {
if (Character.isDigit(c)) {
builder.append(word);
builder.append(" ");
break;
}
}
}
}
String x = builder.toString().trim();
File file = new File(args[1]);
FileWriter fr = new FileWriter(file);
fr.write(x); //без закрытия этого потока файл не запишется
fr.close();
bufferedReader.close();
}
}
Leave A Comment