2015-04-08 1 views
2

Мой Board класс имеет write метод, как этотКак добавить с помощью PrintWriter в Java

public void write(FileOutputStream fo) throws IOException 
    { 
     PrintWriter out=new PrintWriter(fo,true); 
     for (int i = 0; i < size; i++) { 
      String formatted="%3d"; 
      for (int j=0;j<size;j++) 
      { 
       out.append(String.format(formatted,arr[i][j])); 
      } 
      out.append(System.getProperty("line.separator")); 
     } 
     out.append(System.getProperty("line.separator")); 
    } 

Я использовал эту доску, чтобы решить игру Разблокировать Me, в моем BFSSolution классе, после окончания решать, я хочу написать start и goal доска в мой output1.txt файл

fo=new FileOutputStream("output\\output1.txt"); 
start.write(fo); 
goal.write(fo); 

start и goal два экземпляра Board класса. Но он вообще ничего не добавляет, ничего не пишите

Как добавить?

Я хочу использовать FileOutputStream в качестве параметра write метода, потому что у меня будет много других input2.txtinput3.txt с соответствующими output2.txtoutput3.txt, так что я не использовал указанный путь в write методы

Пожалуйста, помогите мне

ответ

0

Вы должны закрыть PrintWriter

public void write(FileOutputStream fo) throws IOException{ 
    PrintWriter out=new PrintWriter(fo,true); 
    ..... 
    out.close();// To save need to close PrintWriter. 
} 
+0

Если я сделаю это, после окончания 'start.write (Ф.О.)', метод 'goal.write (fo) 'не добавляет – necroface

+0

Чем вам нужно изменить дизайн своего кода, чтобы вы могли повторно использовать метод записи. Но чтобы записать в файл, вы должны закрыть ресурс. – Masudul

+0

Мне удалось это решить, спасибо :) – necroface

 Смежные вопросы

  • Нет связанных вопросов^_^