У меня брейнлаг, задача кажется очень простой, но... ;D
Собственно оба файла объединяются в byte[] data, который хочу записать с помощью потока new FileOutputStream(Path1)
byte[] data - судя по дебаггеру заполняется славно обоими потоками;
А вот в файл ничего не записывается, почему?
Кажется, это очень глупый вопрос ;D
package com.javarush.task.task18.task1819;
import java.io.*;
/*
Объединение файлов
Считать с консоли 2 имени файла.
В начало первого файла записать содержимое второго файла так, чтобы получилось объединение файлов.
Закрыть потоки.
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String Path1 = reader.readLine();
String Path2 = reader.readLine();
reader.close();
//String Path1 = "D:\\PabloPackage\\arara.txt";
//String Path2 = "D:\\PabloPackage\\arara2.txt";
// Открываем потоки для считывания из обоих файлов
FileInputStream inputStream1 = new FileInputStream(Path1);
FileInputStream inputStream2 = new FileInputStream(Path2);
//создаем массив байтов, в который записываем сначала весь поток из 2-ого файла, затем из первого
byte[] data = new byte[inputStream1.available() + inputStream2.available()];
inputStream2.read(data);
inputStream1.read(data, inputStream2.available(), inputStream1.available());
// data[] = {allBytesFromInputStream2[], allBytesFromInputStream1[]}; По дебагеру все ок.
// Больше эти потоки нам не нужны - закрываем их
inputStream1.close();
inputStream2.close();
// Создаем поток вывода байтов в первый файл - !? А почему он не пишет-то нифига
FileOutputStream outputStream = new FileOutputStream(Path1);
outputStream.write(data);
outputStream.close();
}
}