Что, блин, от меня хотят?
Почему после выделения выражения "InputStream fileInputStream = getInputStream(sourceFileName);" и нажатия Ctrl+Alt+T появился такого рода перехватчик с вынесенным за пределы его тел InputStream fileInputStream = null; ???
Для чего присваивается пустота? Попытался пошагово сделать наугад то, что хочет на меня валидатор.
Я очень плохо понимаю эти 2 задания про потоки на этом уровне. Хоть и почитал пару статей
package com.javarush.task.task09.task0929;
/*
Обогатим код функциональностью!
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String sourceFileName = reader.readLine();
InputStream fileInputStream = null;
try {
fileInputStream = getInputStream(sourceFileName);
} catch (FileNotFoundException e) {
System.out.println("Файл не существует.");
}
String sourceFileName2 = reader.readLine();
getInputStream(sourceFileName2);
String destinationFileName = reader.readLine();
OutputStream fileOutputStream = getOutputStream(destinationFileName);
while (fileInputStream.available() > 0) {
int data = fileInputStream.read();
fileOutputStream.write(data);
}
fileInputStream.close();
fileOutputStream.close();
}
public static InputStream getInputStream(String fileName) throws IOException {
return new FileInputStream(fileName);
}
public static OutputStream getOutputStream(String fileName) throws IOException {
return new FileOutputStream(fileName);
}
}