Ukázkový příklad pro práci s textovým souborem (nahrání a uložení dat):

celý projekt včetně vstupního souboru ke stažení: http://martin2.feld.cvut.cz/~pelikano/vyuka/PRI/Soubory.zip

package prace_text;
import java.io.*;
import java.util.*;
 
public class Priklad {
 
 
    public static void main(String[] args) {
        try {                                   //try - catch: ohlidani vyjimecnych stavu programu
            ArrayList seznam=new ArrayList();   //pro seznam pouzit ArrayList, lze event. i pole
            nacti("vstup.txt",seznam);          //vstup.txt je jmeno souboru, lezi ve stejnem adresari jako cely projekt
            uloz("vystup.txt",seznam);          //vystup.txt - soubor, kam se zapisuji udaje z pole (ArrayListu)
 
        } catch (IOException ex) {
            ex.printStackTrace();              //pri vyjimecne udalosti programu se vypise chyba
        }
 
    }
 
    //zapis obsahu pole (ArrayListu) do souboru
    public static void uloz(String soubor, ArrayList seznam) throws java.io.IOException {             //vstupy: soubor a seznam
        File cil=new File(soubor);                                   //File - "manazer" souboru
        if (cil.exists()) cil.createNewFile();                       //kdyz soubor neexistuje, program ho vytvori
        FileWriter proud=new FileWriter(cil);                        //vytvoreni dat. proudu (z programu do souboru)- varianta 1 - premaze se stary obsah souboru
        //FileWriter proud=new FileWriter(cil,true);                 //vytvoreni dat. proudu - varianta 2 - necha puvodni obsah, nove pripoji na konec
        PrintWriter filtr=new PrintWriter(proud);                    //vytvoreni "filtru" dat
        for(int i=0;i<seznam.size();i++){
            filtr.println(seznam.get(i));                            //zapis polozky pole (ArrayListu) do souboru - kazda polozka na novem radku souboru
            //filtr.print(seznam.get(i));                            //zapis polozky pole (ArrayListu) do souboru - polozky pole na jednom radku souboru
            //filtr.print(seznam.get(i)+" ");                        //zapis polozky pole (ArrayListu) do souboru - polozky pole na jednom radku souboru, oddeleny mezerou
        }
        filtr.close();                                               //datovy kanal se musi uzavrit!
    }
 
    // nacteni slov ze souboru do ArrayListu
    public static void nacti(String soubor,ArrayList seznam) throws java.io.IOException {            //vstupy: soubor a seznam
        File zdroj=new File(soubor);                                    //File - "manazer" souboru
        FileReader proud=new FileReader(zdroj);                         //vytvoreni dat. proudu (ze souboru do programu)
        BufferedReader x = new BufferedReader(proud);                   //vytvoreni "filtru" dat
        String radek;                                                   //promenna pro nacteni jednoho radku ze souboru
        while ((radek = x.readLine())!=null) {                          //cteni opakujeme, dokud nenarazime na prazdny radek
            StringTokenizer sl = new StringTokenizer(radek," ");        //rozdeli retezec na jednotliva slova, oddelovacem slov je " "(mezera), lze nastavit jiny
            //StringTokenizer sl = new StringTokenizer(radek,"/");      // napr. zde je oddelovacem slov /
            while (sl.hasMoreTokens()) {                                //opakuje se, dokud jsou na radku jeste nejaka slova
                String slovo = sl.nextToken();                          //do promenne slovo se ulozi slovo ze souboru
                seznam.add(slovo);                                      //slovo se ulozi do pole (ArrayListu)
            }
        }
       x.close();                                                       //datovy kanal se musi uzavrit!
    }
}