I am making a game with a world save/load function, which requires me to read/write to a text file. My problem is accesing it, I can read and write to it fine while in the editor, but when the project is compiled into a standalone jar it cannot find the file. Working on the site as an web applet isn't an issue.  This is my read/write code:
  import java.io.*;
public class ReadWrite {
    
    static public String getContents(File aFile) {
        //...checks on aFile are elided
        StringBuilder contents = new StringBuilder();
        try {
            //use buffering, reading one line at a time
            //FileReader always assumes default encoding is OK!
            BufferedReader input =  new BufferedReader(new FileReader(aFile));
            try {
                String line = null; //not declared within while loop
                /*
                 * readLine is a bit quirky :
                 * it returns the content of a line MINUS the newline.
                 * it returns null only for the END of the stream.
                 * it returns an empty String if two newlines appear in a row.
                 */
                while (( line = input.readLine()) != null){
                    contents.append(line);
                    contents.append(System.getProperty("line.separator"));
                }
            }
            finally {
                input.close();
            }
        }
        catch (IOException ex){
            ex.printStackTrace();
        }
        return contents.toString();
    }
    
    static public void setContents(File aFile, String aContents)
    throws FileNotFoundException, IOException {
        if (aFile == null) {
            throw new IllegalArgumentException("File should not be null.");
        }
        if (!aFile.exists()) {
            
            throw new FileNotFoundException ("File does not exist: " + aFile);
            
        }
        if (!aFile.isFile()) {
            throw new IllegalArgumentException("Should not be a directory: " + aFile);
        }
        if (!aFile.canWrite()) {
            throw new IllegalArgumentException("File cannot be written: " + aFile);
        }
        //use buffering
        Writer output = new BufferedWriter(new FileWriter(aFile));
        try {
            //FileWriter always assumes default encoding is OK!
            output.write( aContents );
        }
        finally {
            output.close();
        }
    }
    
    
    public static void write(String fileName,String contents)
    {
        try {
            File file =new File(fileName+".txt");
            setContents(file,contents);
            System.out.println(file.getPath());
        }
        catch(java.io.FileNotFoundException r){
            System.err.println("FontFormatException: " + r.getMessage());
        }
        catch(java.io.IOException r){
            System.err.println("FontFormatException: " + r.getMessage());
        }
    }
    public static String read(String fileName)
    {
        return getContents(new File(fileName+".txt"));
    }
}
 
          
         
   


