Javan tutoriaalissa on käsitelty hyvin tiedostonkäsittelyä sivulla http://java.sun.com/docs/books/tutorial/essential/io/index.html.
Seuraavassa tärkein, eli miten kirjoitetaan jotain tiedostoon ja luetaan tiedot samasta tiedostosta pois.
import java.io.*; /* Ohjelma kysyy käyttäjältä nimen, kokonaisluvun ja desimaaliluvun. Tiedot talletetaan tiedostoon muistio.txt. Sen jälkeen tiedot luetaan tiedostosta. */ public class TiedostoonJaPois { public static void main(String[] args) throws IOException { String TIEDOSTO="muistio.txt"; //tiedoston nimi //Avataan tiedosto DataOutputStream out = new DataOutputStream(new FileOutputStream(TIEDOSTO)); BufferedReader lukija = new BufferedReader(new InputStreamReader(System.in)); String nimi; int kluku; double dluku; //Kysytään tiedot käyttäjältä System.out.print("Anna nimesi:"); nimi = lukija.readLine(); System.out.print("Anna kokonaisluku:"); kluku = Integer.parseInt(lukija.readLine()); System.out.print("Anna desimaaliluku:"); dluku = Double.parseDouble(lukija.readLine()); //Kirjoitetaan tiedot tiedostoon out.writeChars(nimi); out.writeChar('\t'); //laitetaan sarkain erottamaan tiedot out.writeInt(kluku); out.writeChar('\t'); //laitetaan sarkain erottamaan tiedot out.writeDouble(dluku); out.writeChar('\n'); //laitetaan lopuksi rivinvaihto out.close(); //suljetaan tiedosto // luetaan tiedot DataInputStream in = new DataInputStream(new FileInputStream(TIEDOSTO)); String luettunimi = ""; int luettukluku = 0; double luettudluku = 0.0; StringBuffer apuri; try { //Nimi pitää lukea merkki merkiltä sarkaimeen asti char merkki; apuri = new StringBuffer(20); while ((merkki=in.readChar())!='\t') luettunimi+=merkki; luettukluku = in.readInt(); in.readChar(); // poistetaan sarkain luettudluku = in.readDouble(); } catch (EOFException e) {} System.out.println(luettunimi); System.out.println(luettukluku); System.out.println(luettudluku); in.close(); } }