package demo;
import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class FileUtil {
protected static Logger logger = (Logger)LoggerFactory.getLogger(FileUtil.class);
public static final String CHAR_SET = "utf-8";
/**
* 把文件中的内容读取到字符串中
* @author:qiuchen
* @createTime:2012-8-30
* @param filePath
* @return
*/
public static synchronized String readStringFromFile(String filePath){
String msg = "";
File file = new File(filePath);
if(!file.exists()){
return msg;
}
try {
msg = FileUtils.readFileToString(file,CHAR_SET);
return msg;
} catch (IOException e) {
logger.warn(DateUtil.datetime()+"--"+"readFileToString error");
return msg;
}
}
/**
* 向文件中写入内容
* 会覆盖原来的内容
* @author:qiuchen
* @createTime:2012-8-30
* @param filePath 文件地址
* @param string 写入文本
* @return 是否操作成功
*/
public static synchronized Boolean writeString2File(String filePath, String string) {
boolean isFlag = false;
try {
File file = new File(filePath);
if(file.exists()){
FileUtils.writeStringToFile(file, string, CHAR_SET);
isFlag = true;
}
} catch (IOException e) {
logger.warn(DateUtil.datetime()+"--"+"writeStringToFile error");
isFlag = false;
}
return isFlag;
}
/**
* 向文件中追加内容
* @author:qiuchen
* @createTime:2012-10-6
* @param filePath 文件地址
* @param string 文本
* @return 是否操作成功
*/
public static synchronized Boolean appendStringToFile(String filePath, String string) {
boolean isFlag = false;
List<String> lines = new ArrayList<String>();
//后进先出
lines.add(string);
lines.add(FileUtil.readStringFromFile(filePath));
try {
File file = new File(filePath);
if(file.exists()){
FileUtils.writeLines(file,CHAR_SET,lines);
isFlag = true;
}
} catch (IOException e) {
logger.warn(DateUtil.datetime()+"--"+"writeLines error");
isFlag = false;
}
return isFlag;
}
}