В последней перед этой задачей лекции упоминались классы BufferedInputStream и BufferedOutputStream
В итоге пытался решить с их помощью( ну а как иначе, не буду же я по 1 байт читать из файлов),ничего не получилось, в итоге решил так:
package com.javarush.task.task18.task1819;
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) {
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName1 = reader.readLine();
String fileName2 = reader.readLine();
reader.close();
FileInputStream fileInputStream1 = new FileInputStream(fileName1);
byte[] bytes1 = new byte[fileInputStream1.available()];
fileInputStream1.read(bytes1);
fileInputStream1.close();
FileInputStream fileInputStream2 = new FileInputStream(fileName2);
byte[] bytes2 = new byte[fileInputStream2.available()];
fileInputStream2.read(bytes2);
fileInputStream2.close();
FileOutputStream fileOutputStream = new FileOutputStream(fileName1);
fileOutputStream.write(bytes2);
fileOutputStream.write(bytes1);
fileOutputStream.close();
}
catch (Exception e){
e.printStackTrace();
}
}
}
И вот возникли вопросы, как работают строки 18 и 23 ?!
Если я одной строчкой считываю весь файл в массив, то какое тогда преимущество всех этих буферов ?