UMLFileIO.java
package core;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
/**
* @author Ryan Mass
* @author Benjamin
*/
public class UMLFileIO {
private File saveFile;
public UMLFileIO() {}
/**
*
*/
public int setFile (String filePath) {
saveFile = new File (filePath); // creates a reference
return 0;
}
/**
* Writes text to file
* @param text text to write to file
*/
public int writeToFile (String text) {
// If the file doesn't exist try to create
if(saveFile.exists() == false){
try {
saveFile.createNewFile();
} catch (IOException e) {
return 301;
}
}
FileWriter writer;
try {
writer = new FileWriter(saveFile);
} catch (IOException e) {
return 302;
}
PrintWriter printer = new PrintWriter(writer);
printer.print(text);
printer.close(); // Force close
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
/**
*@return - an Object array of the format [readMessage, return code]
*/
public Object[] readFile() {
// Ensure file exists
if(!fileSet() || !fileExists()) {
return new Object[] {"", 105};
}
Scanner sc;
try {
sc = new Scanner(saveFile);
} catch (FileNotFoundException e) {
return new Object[]{"", 303};
}
String result = "";
while (sc.hasNextLine()) {
result += sc.nextLine();
}
sc.close();
return new Object[]{result, 0};
}
/**
* Check if the file to save to has been set
* @return - True if the file is set
*/
public boolean fileSet() {
return saveFile != null;
}
/**
* Make sure set file exists
* @return - True if file exists
*/
public boolean fileExists() {
return saveFile.exists();
}
/**
* @return saved File
*/
public File getFile() {
return saveFile;
}
}