Guest User

Untitled

a guest
May 25th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. package com.javarush.task.task18.task1808;
  2.  
  3. /*
  4. Разделение файла
  5. Считать с консоли три имени файла: файл1, файл2, файл3.
  6. Разделить файл1 по следующему критерию:
  7. Первую половину байт записать в файл2, вторую половину байт записать в файл3.
  8. Если в файл1 количество байт нечетное, то файл2 должен содержать большую часть.
  9. Закрыть потоки.
  10. */
  11.  
  12. import java.io.*;
  13.  
  14. public class Solution {
  15. public static void main(String[] args) {
  16. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  17. try {
  18. String file1 = br.readLine();
  19. String file2 = br.readLine();
  20. String file3 = br.readLine();
  21.  
  22. FileInputStream fileInputStream = new FileInputStream(file1);
  23. FileOutputStream fileOutputStream1 = new FileOutputStream(file2);
  24. FileOutputStream fileOutputStream2 = new FileOutputStream(file3);
  25.  
  26. if (fileInputStream.available() > 0) {
  27. byte[] bytes = new byte[fileInputStream.available()];
  28. int count = fileInputStream.read(bytes);
  29. int half = count / 2;
  30. fileOutputStream1.write(bytes, 0, count - half);
  31. fileOutputStream2.write(bytes, count - half, half);
  32. }
  33.  
  34. fileInputStream.close();
  35. fileOutputStream1.close();
  36. fileOutputStream2.close();
  37.  
  38. } catch (IOException e) {
  39. e.printStackTrace();
  40. }
  41. }
  42. }
  43. /*Требования:
  44. 1. Программа должна три раза считать имена файлов с консоли.
  45. 2. Для чтения из файла используй поток FileInputStream, для записи в файлы - FileOutputStream
  46. 3. Первую половину байт из первого файла нужно записать во второй файл.
  47. 4. Вторую половину байт из первого файла нужно записать в третий файл.
  48. 5. Потоки FileInputStream и FileOutputStream должны быть закрыты.*/
Add Comment
Please, Sign In to add comment