Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level18.lesson05.task03;
- /* Разделение файла
- Считать с консоли три имени файла: файл1, файл2, файл3.
- Разделить файл1 по следующему критерию:
- Первую половину байт записать в файл2, вторую половину байт записать в файл3.
- Если в файл1 количество байт нечетное, то файл2 должен содержать бОльшую часть.
- Закрыть потоки. Не использовать try-with-resources
- */
- import java.io.*;
- public class Solution {
- public static void main(String[] args) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- String fileName1 = reader.readLine();
- String fileName2 = reader.readLine();
- String fileName3 = reader.readLine();
- int fileSize = (int)new File(fileName1).length();
- int fileSize2, fileSize3;
- if (fileSize%2==0) {
- fileSize2 = fileSize/2;
- fileSize3 = fileSize2;
- }
- else {
- fileSize2 = (fileSize/2) + 1;
- fileSize3 = fileSize-fileSize2;
- }
- FileInputStream fileInputStream = new FileInputStream(fileName1);
- byte[]buffer1 = new byte[fileSize];
- FileOutputStream fileOutputStream2 = new FileOutputStream(fileName2);
- FileOutputStream fileOutputStream3 = new FileOutputStream(fileName3);
- while (fileInputStream.available()>0) {
- int count = fileInputStream.read(buffer1);
- }
- fileOutputStream2.write(buffer1,1,fileSize2);//с 0 позиции byte [] buffer1, fileSize2 знаков
- fileOutputStream3.write(buffer1,fileSize2-1,fileSize3);//
- reader.close();
- fileInputStream.close();
- fileOutputStream2.close();
- fileOutputStream3.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement