я надеюсь вы не против если я два вопроса тут задам?
во-первых, как работает метод int read(byte[] buff) ?
я не понимаю, как он изменяет массив байт, который не возвращает??!
нам такого не объясняли
и во-вторых, почему у меня идёт сначала содержимое первого файла, а не второго? и откуда в первом файле так много пробелов???
первый файл до запуска программы содержал - "первый"
второй файл - "второй"
первый файл после запуска программы - "первый второй "
package com.javarush.task.task18.task1819;
/*
Объединение файлов
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
File theFirstFile = new File(reader.readLine());
File theSecondFile = new File(reader.readLine());
reader.close();
InputStream i1 = new FileInputStream(theFirstFile);
byte[] bytes1 = new byte[i1.available()];
if (i1.available()>0)
i1.read(bytes1);
i1.close();
InputStream i2 = new FileInputStream(theSecondFile);
byte[] bytes2 = new byte[i2.available()];
if(i2.available()>0)
i2.read(bytes1);
i2.close();
OutputStream outputStream = new FileOutputStream(theFirstFile,true);
outputStream.write(bytes2);
outputStream.write(bytes1);
outputStream.close();
}
}