import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
public class FileUtil {
private static Logger log = Logger.getLogger(FileUtil.class);
public static void put2File(String fileName, List<String> message){
FileOutputStream fileOut = null;
BufferedOutputStream bos = null;
if(null == fileName || "".equals(fileName)){
log.info("fileName is empty!");
return;
}
String path = System.getProperty("user.dir");
File file = new File(path+File.separator+fileName);
try {
fileOut = new FileOutputStream(file,true);
bos = new BufferedOutputStream(fileOut);
/*for(Map.Entry<String,String> map:message.entrySet()){
String line = map.getKey()+":"+map.getValue();
bos.write(line.getBytes("UTF-8"));
bos.write(System.getProperty("line.separator").getBytes("UTF-8"));
}*/
for(String line : message) {
bos.write(line.getBytes("UTF-8"));
bos.write(System.getProperty("line.separator").getBytes("UTF-8"));
}
bos.flush();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
bos.close();
fileOut.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void put2File(String fileName, String message){
FileOutputStream fileOut = null;
BufferedOutputStream bos = null;
if(null == fileName || "".equals(fileName)){
log.info("fileName is empty!");
return;
}
String path = System.getProperty("user.dir");
File file = new File(path+File.separator+fileName);
try {
fileOut = new FileOutputStream(file,true);
bos = new BufferedOutputStream(fileOut);
/*for(Map.Entry<String,String> map:message.entrySet()){
String line = map.getKey()+":"+map.getValue();
bos.write(line.getBytes("UTF-8"));
bos.write(System.getProperty("line.separator").getBytes("UTF-8"));
}*/
bos.write(message.getBytes("UTF-8"));
bos.write(System.getProperty("line.separator").getBytes("UTF-8"));
bos.flush();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
bos.close();
fileOut.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/*public static Map<String,String> readFile(String fileName){
Map<String,String> map = new HashMap<>();
BufferedReader br = null;
String path = System.getProperty("user.dir") + File.separator + fileName;
File file = new File(path);
if (file.exists() && !file.isDirectory()) {
try {
br = new BufferedReader(new FileReader(file));
String line = null;
while ((line = br.readLine())!=null){
String[] data = line.split(":");
map.put(data[0],data[1]);
}
} catch (Exception e) {
log.error(" readFile fail " , e);
} finally {
try {
if (br != null)
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} else {
log.info("file doesnot exists or is Directory File Path: " + path ) ;
}
return map;
}*/
/**
* 检查 生成的File的状态
* 1. 文件存在
* 2. 文件可读写
*/
public static boolean fileCheck(String fileName){
boolean result = false;
String path = System.getProperty("user.dir") + File.separator + fileName;
File file = new File(path);
// update : 文件可能可以被IO但是,部署后该文件不属于应用,可能 file.canExecute() 返回为false 顾取消
// if(file.exists() && !file.isDirectory() && file.canExecute()) {
if(file.exists() && !file.isDirectory() ) {
result = true;
}
return result;
}
}