package li.util;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.StringReader;
import java.io.Writer;
/**
* IO工具类
*
* @author li (limingwei@mail.com)
* @version 0.1.1 (2013-02-04)
*/
public class IOUtil {
/**
* 从一个文件读取类容并返回
*/
public static String read(File file) {
try {
return read(new FileReader(file));
} catch (FileNotFoundException e) {
throw new RuntimeException(e + " ", e);
}
}
/**
* 从一个字节输入流读取类容并返回
*/
public static String read(InputStream inputStream) {
return read(new InputStreamReader(inputStream));
}
/**
* 从一个字符输入流读取类容并返回
*/
public static String read(Reader reader) {
StringBuffer stringBuffer = new StringBuffer();
try {
BufferedReader bufferedReader = new BufferedReader(reader);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
stringBuffer.append(line);
}
bufferedReader.close();
} catch (Exception e) {
throw new RuntimeException(e + " ", e);
}
return stringBuffer.toString();
}
/**
* 把内容写入一个文本文件
*/
public static void write(File file, String content) {
try {
write(new FileWriter(file), content);
} catch (Exception e) {
throw new RuntimeException(e + " ", e);
}
}
/**
* 把内容写到一个字节输出流
*/
public static void write(OutputStream outputStream, String content) {
write(new OutputStreamWriter(outputStream), content);
}
/**
* 把内容写入一个字符输出流
*/
public static void write(Writer writer, String content) {
BufferedReader bufferedReader = new BufferedReader(new StringReader(content));
try {
BufferedWriter bufferedWriter = new BufferedWriter(writer);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
bufferedWriter.write(line);
bufferedWriter.newLine();
bufferedWriter.flush();
}
bufferedWriter.close();
bufferedReader.close();
} catch (Exception e) {
throw new RuntimeException(e + " ", e);
}
}
}