package forge;
import forge.error.ErrorViewer;
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* <p>FileUtil class.</p>
*
* @author Forge
* @version $Id: $
*/
public class FileUtil {
/**
* <p>doesFileExist.</p>
*
* @param filename a {@link java.lang.String} object.
* @return a boolean.
*/
public static boolean doesFileExist(String filename) {
File f = new File(filename);
return f.exists();
}
/**
* <p>writeFile.</p>
*
* @param filename a {@link java.lang.String} object.
* @param data a {@link java.util.List} object.
*/
public static void writeFile(String filename, List<String> data) {
writeFile(new File(filename), data);
}
//writes each element of ArrayList on a separate line
//this is used to write a file of Strings
//this will create a new file if needed
//if filename already exists, it is deleted
/**
* <p>writeFile.</p>
*
* @param file a {@link java.io.File} object.
* @param data a {@link java.util.List} object.
*/
public static void writeFile(File file, List<String> data) {
try {
Collections.sort(data);
BufferedWriter io = new BufferedWriter(new FileWriter(file));
for (int i = 0; i < data.size(); i++)
io.write(data.get(i) + "\r\n");
io.flush();
io.close();
} catch (Exception ex) {
ErrorViewer.showError(ex);
throw new RuntimeException("FileUtil : writeFile() error, problem writing file - " + file + " : " + ex);
}
}//writeAllDecks()
/**
* <p>readFile.</p>
*
* @param filename a {@link java.lang.String} object.
* @return a {@link java.util.ArrayList} object.
*/
public static ArrayList<String> readFile(String filename) {
return readFile(new File(filename));
}
//reads line by line and adds each line to the ArrayList
//this will return blank lines as well
//if filename not found, returns an empty ArrayList
/**
* <p>readFile.</p>
*
* @param file a {@link java.io.File} object.
* @return a {@link java.util.ArrayList} object.
*/
public static ArrayList<String> readFile(File file) {
ArrayList<String> list = new ArrayList<String>();
BufferedReader in;
try {
if (file == null || !file.exists()) return list;
in = new BufferedReader(new FileReader(file));
String line;
while ((line = in.readLine()) != null)
list.add(line);
} catch (Exception ex) {
ErrorViewer.showError(ex);
throw new RuntimeException("FileUtil : readFile() error, " + ex);
}
return list;
}//readFile()
}