Skip to content

Instantly share code, notes, and snippets.

@ihopeudie
Created August 29, 2017 09:58
Show Gist options
  • Save ihopeudie/b5bb7741ae896b219cee33a20ce07843 to your computer and use it in GitHub Desktop.
Save ihopeudie/b5bb7741ae896b219cee33a20ce07843 to your computer and use it in GitHub Desktop.
package com.javarush.task.task18.task1808;
/*
Разделение файла javarush
Считать с консоли три имени файла: файл1, файл2, файл3.
Разделить файл1 по следующему критерию:
Первую половину байт записать в файл2, вторую половину байт записать в файл3.
Если в файл1 количество байт нечетное, то файл2 должен содержать большую часть.
Закрыть потоки.
Требования:
1. Программа должна три раза считать имена файлов с консоли.
2. Для чтения из файла используй поток FileInputStream, для записи в файлы - FileOutputStream
3. Первую половину байт из первого файла нужно записать во второй файл.
4. Вторую половину байт из первого файла нужно записать в третий файл.
5. Потоки FileInputStream и FileOutputStream должны быть закрыты.
*/
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fName1 = reader.readLine();
String fName2 = reader.readLine();
String fName3 = reader.readLine();
reader.close();
FileInputStream iStream = new FileInputStream(fName1);
FileOutputStream oStream = new FileOutputStream(fName2);
FileOutputStream oStream2 = new FileOutputStream(fName3);
byte[] array = new byte[iStream.available()];
iStream.read(array);
iStream.close();
if (array.length % 2 == 0) {
oStream.write(array, 0, (array.length / 2));
oStream2.write(array,(array.length/2),(array.length/2));
}
else {
oStream.write(array, 0, (array.length / 2)+1);
oStream2.write(array,(array.length/2)+1,(array.length/2));
}
oStream.close();
oStream2.close();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment