Проверка заполнения файла данными из второго файла, вывод этих данных из второго файла
В тестовом задании необходимо создать два файла. Первый файл заполнить после создания, и затем эти данные скопировать из первого файла во второй. С созданием файлов и переносом данных вроде разобралась, но как проверить то что эти данные перенесены во второй файл (как их вывести)? Заренее спасибо :)
public class Main {
public static void main(String[] args) throws UnsupportedEncodingException {
File file1 = new File("test1.txt");
File file2 = new File("test2.txt");
try {
BufferedWriter bufferedWriter= new BufferedWriter(new FileWriter(file1));
bufferedWriter.write("this is test");
BufferedReader bufferedReader=new BufferedReader((new FileReader(file1)));
BufferedWriter bufferedWriter2= new BufferedWriter(new FileWriter(file2));
String b;
while ((b = bufferedReader.readLine()) != null) {
bufferedWriter2.write(b);
b=bufferedReader.readLine();
System.out.println(b);
}
} catch (IOException e) {
System.out.print(e.getMessage());
}
}}
Ответы (1 шт):
Автор решения: am233dmg
→ Ссылка
Для начала используйте try-with-resources, далее вы открываете поток и для чтения и для записи одного и тоже файла сразу (так делать не надо), сделайте последовательно, запишите свои данные в первый файл, и потом этот поток закрывается (из-за конструкции try-with-resources), и потом же открыть поток для чтения первого файла и поток для записи во второй.
public class Main {
public static void main(String[] args){
File file1 = new File("test1.txt");
File file2 = new File("test2.txt");
try(BufferedWriter bufferedWriter= new BufferedWriter(new FileWriter(file1))) {
bufferedWriter.write("this is test");
} catch (IOException e) {
System.out.print(e.getMessage());
}
try(BufferedReader bufferedReader=new BufferedReader((new FileReader(file1)));
BufferedWriter bufferedWriter2= new BufferedWriter(new FileWriter(file2))){
String b;
while ((b = bufferedReader.readLine()) != null) {
System.out.println(b);
bufferedWriter2.write(b);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}