Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dip107;
- import java.util.Scanner;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.util.ArrayList;
- import java.util.Comparator;
- public class Ld5_02_181rdb232 {
- private static ArrayList<String> createLines(ArrayList<String> words) {
- ArrayList<String> result = new ArrayList<>();
- StringBuilder stringBuilder = new StringBuilder();
- for (String word : words) {
- stringBuilder.append(word).append(" ");
- if (word.length() != 0 && word.charAt(word.length() - 1) == '.') {
- result.add(stringBuilder.toString().trim());
- stringBuilder = new StringBuilder();
- }
- }
- return result;
- }
- private static ArrayList<String> getFileContents(String fileName) {
- try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
- ArrayList<String> allWords = new ArrayList<>();
- String line;
- while ((line = reader.readLine()) != null) {
- String[] words = line.split("\\s+");
- for (String word : words)
- allWords.add(word);
- }
- return createLines(allWords);
- } catch (IOException ex) {
- System.out.println(ex.getMessage());
- return null;
- }
- }
- private static void modifyFileContents(ArrayList<String> lines) {
- String longestLine = lines.stream().max(Comparator.comparing(String::length)).get();
- for (int i = 0; i < lines.size(); i++) {
- String currentLine = lines.get(i);
- if (currentLine.compareTo(longestLine) != 0) {
- StringBuilder stringBuilder = new StringBuilder(currentLine);
- while (stringBuilder.length() != longestLine.length()) {
- stringBuilder.insert(0, " ");
- }
- lines.set(i, stringBuilder.toString());
- }
- }
- }
- private static void writeToFile(String fileName, ArrayList<String> lines) {
- System.out.println("result:");
- try (PrintWriter out = new PrintWriter(new FileWriter(fileName))) {
- for (int i=0;i<lines.size();i++) {
- out.println(lines.get(i));
- System.out.println(lines.get(i));
- }
- }
- catch (Exception ex) {
- System.out.println(ex.getMessage());
- }
- }
- public static void main(String[] args) {
- System.out.println("Niklāvs Māris Arbidāns 12 181RDB232");
- System.out.println("Roberts Jānis Gaigals 11 181RDB179");
- Scanner sc = new Scanner(System.in);
- System.out.print("input file name: ");
- String fileName = sc.nextLine();
- ArrayList<String> lines = getFileContents(fileName);
- if (lines != null) {
- modifyFileContents(lines);
- writeToFile(fileName, lines);
- }
- sc.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement