package pl.shockah;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
public class FileLine {
public static ArrayList<String> read(File file) {
ArrayList<String> ret = new ArrayList<String>();
if (!file.exists()) return ret;
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),Helper.utf8));
String line; while ((line = br.readLine()) != null) ret.add(line);
br.close();
} catch (Exception e) {e.printStackTrace();}
return ret;
}
public static String readString(File file) {
String ret = "";
if (!file.exists()) return ret;
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),Helper.utf8));
String line; boolean first = true; while ((line = br.readLine()) != null) {
if (first) first = false; else ret += "\n";
ret += line;
}
br.close();
} catch (Exception e) {e.printStackTrace();}
return ret;
}
public static void write(File file, ArrayList<String> lines) {
File temp = null;
try {
try {
temp = File.createTempFile("shocky", ".tmp");
} catch (IOException e1) {
throw new RuntimeException(e1);
}
//file.createNewFile();
System.out.printf("File: %s Temp: %s", file.getAbsolutePath(), temp.getAbsolutePath()).println();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(temp),Helper.utf8));
for (int i = 0; i < lines.size(); i++) {
if (i != 0) bw.write('\n');
bw.write(lines.get(i));
}
bw.close();
if (file.exists())
file.delete();
temp.renameTo(file);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (temp != null && temp.exists())
temp.delete();
}
}
}