Эта программа не читает и не пишет в файл - PullRequest
0 голосов
/ 29 октября 2011

КОД

import java.io.*;
class tester {
 public static void main(String args[]) {
  try {
   FileReader reader = new FileReader(new File("d:\\UnderTest\\check123.txt"));
   FileWriter writer = new FileWriter(new File("d:\\UnderTest\\check123.txt"));
   BufferedReader br = new BufferedReader(reader);
   String s;
     while( (s=br.readLine()) != null ) {
       System.out.println(s);
     }
   writer.write("Shadow Shadow");
  } catch(Exception exc) {
     System.out.println(exc);
    }
  }
}

Этот код ничего не пишет и ничего не читает, когда я его запускаю. Где ошибка в этой программе?

Ответы [ 2 ]

2 голосов
/ 29 октября 2011

Вы уверены, что при первом чтении содержимое присутствует в текстовом файле?Вам нужно закрыть Reader и Writer в блоке finally (в данный момент отсутствует в вашем коде) вашего блока try-catch.закрытие потока автоматически удаляет содержимое.

1 голос
/ 29 октября 2011

Убедитесь, что вы закрыли читателя и писателя. После использования устройства записи вам необходимо очистить содержимое или закрыть устройство записи (что делает то же самое). Я проверил это, и это работает.

import java.io.*;
class tester {
 public static void main(String args[]) {
  try {
  FileReader reader = new FileReader(new File("c:\\check123.txt"));
  FileWriter writer = new FileWriter(new File("c:\\check123.txt"));
  BufferedReader br = new BufferedReader(reader);
  writer.write("Shadow Shadow");     
  writer.close();

  String s;
    while( (s=br.readLine()) != null ) {
      System.out.println(s);
    }
  reader.close();

 } catch(Exception exc) {
    System.out.println(exc);
   }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...