Created
August 29, 2017 09:58
-
-
Save ihopeudie/b5bb7741ae896b219cee33a20ce07843 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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