Advertisement
nikeza

7.Merge Two Files

Oct 4th, 2019
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.04 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.PrintWriter;
  4. import java.nio.file.Files;
  5. import java.nio.file.Paths;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9. public class streams1_Exercises_7Merge_Two_Files {
  10.     public static void main(String[] args) {
  11.  
  12.         String input = "C:\\Users\\kk\\Desktop\\SoftUni\\Java Advanced\\Lections\\" +
  13.                 "04. Java-Exercises_Advanced-Streams-Files-and-Directories-Resources (1)\\" +
  14.                 "04. Java-Advanced-Files-and-Streams-Exercises-Resources\\";
  15.         String pathOne = input + "inputOne.txt";
  16.         String pathTwo = input + "inputTwo.txt";
  17.         String pathOut = input + "outMergeFiles.txt";
  18.  
  19.         try (BufferedReader bfOne = Files.newBufferedReader(Paths.get(pathOne));
  20.              BufferedReader bfTwo = Files.newBufferedReader(Paths.get(pathTwo));
  21.              PrintWriter printWriter = new PrintWriter(pathOut)) {
  22.              
  23.             String inpuOne = bfOne.readLine();
  24.             List<String> textOne = new ArrayList<>();
  25.            
  26.             while (inpuOne != null) {
  27.                 textOne.add(inpuOne);
  28.                 inpuOne = bfOne.readLine();
  29.             }
  30.  
  31.             String inpuTwo = bfTwo.readLine();
  32.             List<String> textTwo = new ArrayList<>();
  33.            
  34.             while (inpuTwo != null) {
  35.                 textTwo.add(inpuTwo);
  36.                 inpuTwo = bfTwo.readLine();
  37.             }
  38.            
  39.             int size = textOne.size() + textTwo.size();
  40.             int num = -1;
  41.             for (int i = 0; i < size; i++) {
  42.                 if (i < textOne.size()) {
  43.                     printWriter.write(textOne.get(i));
  44.                     printWriter.write('\n');
  45.                     if (i == textOne.size() - 1) {
  46.                         num = i + 1;
  47.                     }
  48.                 } else {
  49.                     printWriter.write(textTwo.get(i - num));
  50.                     printWriter.write('\n');
  51.                 }
  52.             }
  53.  
  54.  
  55.         } catch (IOException e) {
  56.             e.printStackTrace();
  57.         }
  58.      }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement