Advertisement
jaVer404

level18.lesson05.task03

Nov 3rd, 2015
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.97 KB | None | 0 0
  1. package com.javarush.test.level18.lesson05.task03;
  2.  
  3. /* Разделение файла
  4. Считать с консоли три имени файла: файл1, файл2, файл3.
  5. Разделить файл1 по следующему критерию:
  6. Первую половину байт записать в файл2, вторую половину байт записать в файл3.
  7. Если в файл1 количество байт нечетное, то файл2 должен содержать бОльшую часть.
  8. Закрыть потоки. Не использовать try-with-resources
  9. */
  10.  
  11. import java.io.*;
  12.  
  13. public class Solution {
  14.     public static void main(String[] args) throws IOException {
  15.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  16.         String fileName1 = reader.readLine();
  17.         String fileName2 = reader.readLine();
  18.         String fileName3 = reader.readLine();
  19.         int fileSize = (int)new File(fileName1).length();
  20.         int fileSize2, fileSize3;
  21.  
  22.         if (fileSize%2==0) {
  23.             fileSize2 = fileSize/2;
  24.             fileSize3 = fileSize2;
  25.         }
  26.         else {
  27.             fileSize2 = (fileSize/2) + 1;
  28.             fileSize3 = fileSize-fileSize2;
  29.         }
  30.  
  31.         FileInputStream fileInputStream = new FileInputStream(fileName1);
  32.         byte[]buffer1 = new byte[fileSize];
  33.         FileOutputStream fileOutputStream2 = new FileOutputStream(fileName2);
  34.         FileOutputStream fileOutputStream3 = new FileOutputStream(fileName3);
  35.  
  36.         while (fileInputStream.available()>0) {
  37.             int count = fileInputStream.read(buffer1);
  38.         }
  39.         fileOutputStream2.write(buffer1,1,fileSize2);//с 0 позиции byte [] buffer1, fileSize2 знаков
  40.         fileOutputStream3.write(buffer1,fileSize2-1,fileSize3);//
  41.  
  42.         reader.close();
  43.         fileInputStream.close();
  44.         fileOutputStream2.close();
  45.         fileOutputStream3.close();
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement