Advertisement
mamant38

объединение файлов

Apr 12th, 2018
396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.83 KB | None | 0 0
  1. package com.javarush.task.task18.task1819;
  2.  
  3. /*
  4. Считать с консоли 2 имени файла.
  5. В начало первого файла записать содержимое второго файла так, чтобы получилось объединение файлов.
  6. Закрыть потоки.
  7.  
  8.  
  9. Требования:
  10. 1. Программа должна два раза считать имена файлов с консоли.
  11. 2. Для первого файла создай поток для чтения и считай его содержимое.
  12. 3. Затем, для первого файла создай поток для записи. Для второго - для чтения.
  13. 4. Содержимое первого и второго файла нужно объединить в первом файле.
  14. 5. Сначала должно идти содержимое второго файла, затем содержимое первого.
  15. 6. Созданные для файлов потоки должны быть закрыты.
  16. */
  17.  
  18. import java.io.BufferedReader;
  19. import java.io.FileInputStream;
  20. import java.io.FileOutputStream;
  21. import java.io.InputStreamReader;
  22. //  1.  Считать инф. из 1го файла в первый буффер
  23. //  2.  Считать инф. из 2го файла во второй буффер
  24. //  3.  Добавить инф. из 2го буффера в файл 1 C ОЧИСТКОЙ new FileOutputStream(fileName1);
  25. //  4.  Добавить инф. из 1го буффера в файл 1 БЕЗ ОЧИСТКИ new FileOutputStream(fileName1,true);
  26. public class Solution {
  27.     public static void main(String[] args) throws Exception {
  28.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  29.         String file1 = reader.readLine();
  30.         String file2 = reader.readLine();
  31.  
  32.  
  33.         FileOutputStream fileOutputStream = new FileOutputStream(file1);
  34.         FileOutputStream fileOutputStream2 = new FileOutputStream(file1,true);
  35.         FileInputStream fileInputStream = new FileInputStream(file1);
  36.         FileInputStream fileInputStream2 = new FileInputStream(file2);
  37.         byte [] bytes = new byte[fileInputStream.available()];
  38.         byte [] bytes2 = new byte[fileInputStream2.available()];
  39.         int count1 = 0;
  40.         int count2 = 0;
  41.         while (fileInputStream.available()>0){
  42.             count1 = fileInputStream.read(bytes);
  43.  
  44.         }
  45.  
  46.  
  47.         while (fileInputStream2.available()>0){
  48.  
  49.             count2 = fileInputStream2.read(bytes2);
  50.         }
  51.         fileInputStream.close();
  52.         fileInputStream2.close();
  53.  
  54.         fileOutputStream.write(bytes2, 0, count2);
  55.         fileOutputStream2.write(bytes, 0, count1);
  56.         fileOutputStream.close();
  57.         fileOutputStream2.close();
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement