package jeql.util;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import jeql.io.InputSource;
public class IOUtil
{
/**
* Writes a string to a file. If an IOException occurs it is not thrown but is
* returned (thus allowing caller to ignore it if desired).
*
* @param filename
* @param str
* @return
*/
public static IOException writeToFileNoThrow(String filename, String str)
{
try {
FileWriter writer = new FileWriter(filename);
writer.write(str);
writer.close();
}
catch (IOException ex) {
return ex;
}
return null;
}
public static String readFile(String filename, boolean addEOL)
throws IOException
{
StringBuffer buf = new StringBuffer();
BufferedReader bufReader = null;
try {
FileInputStream fis = new FileInputStream(filename);
bufReader = new BufferedReader(new InputStreamReader(fis));
String line = "";
while ((line = bufReader.readLine()) != null) {
buf.append(line);
// possibly add EOL char to each line
if (addEOL)
buf.append('\n');
}
// System.out.println(buf);
}
finally {
if (bufReader != null)
bufReader.close();
}
// may be empty string if an error occurred
return buf.toString();
}
}