Я пытаюсь выполнить упражнение в книге, которое просит написать содержимое списка массивов в текстовый файл, может кто-нибудь дать мне некоторые идеи о том, что я делаю неправильно, против полных решений, do Мне нужно создать метод, который возвращает одну строку, а затем записать это?Запись массива в файл
import java.util.ArrayList;
import java.io.FileWriter;
import java.util.Iterator;
/**
* A class to maintain an arbitrarily long list of notes.
* Notes are numbered for external reference by a human user.
* In this version, note numbers start at 0.
*
* @author David J. Barnes and Michael Kolling.
* @version 2008.03.30
*/
public class Notebook {
// Storage for an arbitrary number of notes.
private ArrayList<String> notes;
/**
* Perform any initialization that is required for the
* notebook.
*/
public Notebook() {
notes = new ArrayList<String>();
}
/**
* Store a new note into the notebook.
* @param note The note to be stored.
*/
public void storeNote(String note) {
notes.add(note);
}
/**
* @return The number of notes currently in the notebook.
*/
public int numberOfNotes() {
return notes.size();
}
/**
* Remove a note from the notebook if it exists.
* @param noteNumber The number of the note to be removed.
*/
public void removeNote(int noteNumber) {
if(noteNumber < 0) {
// This is not a valid note number, so do nothing.
} else if(noteNumber < numberOfNotes()) {
// This is a valid note number.
notes.remove(noteNumber);
} else {
// This is not a valid note number, so do nothing.
}
}
/**
* List all notes in the notebook.
*/
public void listNotes() {
for(String note : notes) {
System.out.println(note);
}
}
/**
*
*/
public void writeToFile() {
try{
FileWriter writer = new FileWriter("file.txt");
for(String str : notes){
writer.write(str.toString());
}
}
catch(Exception e){
System.out.println("some error...");
}
}
}
редактировать: проблема, которую я имею сейчас, что я не могу получить каждую строку на новую строку, даже если я использую writer.write('\n')
, я понял, что я забыла writer.close();
;)
Что происходит, когда вы создаете ноутбук, добавить некоторые примечания к ней, а затем вызвать ваш метод WriteToFile()? –
ничего не произошло до тех пор, пока я не осознал, что пропустил писатель.close после цикла: p проблема, с которой я сталкиваюсь сейчас, заключается в том, что я не могу получить каждую строку на новой строке, даже если я использую writer.write ('\ n'). – 2009-03-29 15:53:35
Не забывайте, что в зависимости от вашей платформы вам может понадобиться возврат каретки и/или линия. –