I am trying to do an exercise in the book that asks to write the contents of the array list to a text file, can someone give me some ideas on what I am doing wrong opposed to full solutions, do I need to make a method that returns a single string then write that?
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...");
}
}
}
edit: the problem I am having now is that I can't get each string on a new line even if I use the writer.write('\n'), I realized I forgot the writer.close(); ;)