I am trying to do an exercises in the book that asks us 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 cant get each string on a new line even if i use the writer.write('\n'), i realised i forgot the writer.close(); ;)