All Downloads are FREE. Search and download functionalities are using the official Maven repository.

pacman.game.util.IO Maven / Gradle / Ivy

There is a newer version: 2.0.1.0
Show newest version
package pacman.game.util;

import java.io.*;

/**
 * This class handles the I/O for the controllers. It has two static methods that allow
 * controller to load files and to write those files. All these files need to be in the
 * directory 'myData': when running locally, this directory needs to be at the same level
 * as the 'src' directory. In the competition, this directory should be included with the source
 * files, at the same level.
 * 

* If you use I/O in your controller, you must make use of this class. The reason for this is * as follows: the competition runs differently to how the software is used in a local setup. * There are also security concerns to be taken into account (as well as file sizes). * This makes it more difficult to use I/O in general and hence we provide this class for all I/O. * We subsequently use a different class with the same signature for the actual competition so * that all controllers making use of this class can read and write files in the actual competition. */ public class IO { public static final String DIRECTORY = "myData/"; /** * Used to save data, represented as a string, in a file called with name specified. * * @param fileName the name of the file (including extension) * @param data the data to be saved * @param append Should we append to the file or write to it * @return whether the data was saved successfully */ public static boolean saveFile(String fileName, String data, boolean append) { try { FileOutputStream outS = new FileOutputStream(DIRECTORY + fileName, append); PrintWriter pw = new PrintWriter(outS); pw.println(data); pw.flush(); outS.close(); } catch (IOException e) { e.printStackTrace(); return false; } return true; } /** * Loads data from a file as specified by the file name supplied. * * @param fileName the file to be loaded * @return the data contained in the file specified */ public static String loadFile(String fileName) { StringBuffer data = new StringBuffer(); try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(DIRECTORY + fileName))); String input = br.readLine(); while (input != null) { if (!input.equals("")) data.append(input + "\n"); input = br.readLine(); } } catch (IOException ioe) { ioe.printStackTrace(); } return data.toString(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy