//public class Solution {
// public static void main(String[] args) throws IOException {
// BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// String file1 = reader.readLine();
// String file2 = reader.readLine();
// FileInputStream fileReader1 = new FileInputStream(file1);
// FileInputStream fileReader2 = new FileInputStream(file2);
// FileOutputStream fielOut1 = new FileOutputStream(file1);
// ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//
// while (fileReader2.available()>0){
// byteArrayOutputStream.write(fileReader2.read());
// }
// fileReader2.close();
// while (fileReader1.available()>0){
// byteArrayOutputStream.write(fileReader1.read());
// }
// fileReader1.close();
// byteArrayOutputStream.writeTo(fielOut1);
// fielOut1.close();
// }
//}
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName1 = reader.readLine();
String fileName2 = reader.readLine();
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try (FileInputStream fileInputStream1 = new FileInputStream(fileName1);
FileInputStream fileInputStream2 = new FileInputStream(fileName2)) {
while (fileInputStream2.available() > 0) {
byteArrayOutputStream.write(fileInputStream2.read());
}
while (fileInputStream1.available() > 0) {
byteArrayOutputStream.write(fileInputStream1.read());
}
}
try (FileOutputStream fileOutputStream = new FileOutputStream(fileName1)) {
byteArrayOutputStream.writeTo(fileOutputStream);
}
}
}
Anton Nechunaev
32 уровень
почему решение без try не работает? Мой код сверху
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ислам
6 июля 2023, 15:10
Код, который вы предоставили, не работает без блока try-catch, потому что в нем используются операции, которые могут вызывать исключения. В данном случае, вы используете FileInputStream и FileOutputStream, которые могут возбуждать IOException во время работы с файлами.
Когда вы используете блок try-catch, вы определяете обработчик исключений, который будет выполнен в случае возникновения исключения. Блок try-catch позволяет вам контролировать и обрабатывать исключения, предотвращая аварийное завершение программы.
В вашем коде, когда вы используете try-with-resources (блок try с ресурсами), он автоматически закрывает ресурсы, которые вы используете в блоке try. В вашем случае, FileInputStream и ByteArrayOutputStream автоматически закрываются, когда блок try завершается.
+2
Anton Nechunaev
6 июля 2023, 16:36
но я же пробрасываю исключение, т..е исключение не может возникнуть
0
Денис Enterprise Java Developer
6 июля 2023, 13:32
Попробуй зафлашить поток записи руками.
+2