public class Solution {
public static void main(String[] args) throws IOException {
List<String> list = new ArrayList<>();
StringBuilder builder = new StringBuilder();
try (BufferedReader bufferedReader = new BufferedReader(new FileReader(args[0]))) {
while (bufferedReader.ready()) {
list.add(bufferedReader.readLine().replaceAll("(?U)[\\pP\\s]", " "));
}
}
for (String s : list) {
String[] array = s.split(" ");
for (String res : array) {
if (res.length() > 6 && !isNumber(res))
builder.append(res + ",");
}
}
try (BufferedWriter writter = new BufferedWriter(new FileWriter(args[1]))) {
writter.write(builder.substring(0, builder.length() - 1).toString());
}
}
private static boolean isNumber (String s) {
boolean result = true;
try {
Integer.parseInt(s);
} catch (NumberFormatException e) {
result = false;
}
return result;
}
}
package com.javarush.task.task19.task1925;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Длинные слова
*/
public class Solution {
public static void main(String[] args) throws IOException {
List<String> list = new ArrayList<>();
StringBuilder builder = new StringBuilder();
try (BufferedReader bufferedReader = new BufferedReader(new FileReader(args[0]))) {
while (bufferedReader.ready()) {
list.add(bufferedReader.readLine().replaceAll("(?U)[\\pP\\s]", " "));
}
}
for (String s : list) {
String[] array = s.split(" ");
for (String res : array) {
if (res.length() > 6 && !isNumber(res))
builder.append(res + ",");
}
}
try (BufferedWriter writter = new BufferedWriter(new FileWriter(args[1]))) {
writter.write(builder.substring(0, builder.length() - 1).toString());
}
}
private static boolean isNumber (String s) {
boolean result = true;
try {
Integer.parseInt(s);
} catch (NumberFormatException e) {
result = false;
}
return result;
}
}
/*
В метод main первым параметром приходит путь к файлу1, вторым - путь к файлу2.
Файл1 содержит слова, разделенные пробелом или переводом строки (в файле может быть несколько строк).
Все, что не относится к пробелу или переводу строки, разделителем не считать.
Записать в одну строку через запятую в Файл2 слова, длина которых строго больше 6.
В конце файла2 запятой не должно быть.
Закрыть потоки.
Пример выходных данных в файл2:
длинное,короткое,аббревиатура
Requirements:
1. Программа НЕ должна считывать данные с консоли.
2. Программа должна считывать содержимое первого файла (используй FileReader c конструктором String).
3. Поток чтения из файла (FileReader) должен быть закрыт.
4. Программа должна записывать через запятую во второй файл все слова из первого файла длина которых строго больше 6(используй FileWriter).
5. Поток записи в файл (FileWriter) должен быть закрыт.
*/