package com.common.util;
import java.io.*;
import java.util.Properties;
/**
* @author Administrator
*/
public class CreateLog {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// windows文件保存路径设置
private static String lpath = "/root/logs/log/";
//linux 系统该路径
private static String wpath = "d:/log/";
private static String filenameTemp;
public static boolean isOSLinux() {
Properties prop = System.getProperties();
String os = prop.getProperty("os.name");
if (os != null && os.toLowerCase().indexOf("linux") > -1) {
return true;
} else {
return false;
}
}
public static boolean creatLogFile(String name) throws IOException {
boolean flag = false;
String path = "";
if(isOSLinux()){
path=lpath;
}else {
path=wpath;
}
filenameTemp = path + name + ".log";
File filename = new File(filenameTemp);
File fileParent = filename.getParentFile();
if (!fileParent.exists()) {
fileParent.mkdirs();
}
if (!filename.exists()) {
filename.createNewFile();
flag = true;
}
return flag;
}
public static boolean writeLogFile(String newStr) throws IOException {
// 先读取原有文件内容,然后进行写入操作
boolean flag = false;
String filein = newStr + "\r\n";
String temp = "";
FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;
FileOutputStream fos = null;
PrintWriter pw = null;
try {
// 文件路径
File file = new File(filenameTemp);
// 将文件读入输入流
fis = new FileInputStream(file);
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);
StringBuffer buf = new StringBuffer();
// 保存该文件原有的内容
for (int j = 1; (temp = br.readLine()) != null; j++) {
buf = buf.append(temp);
// System.getProperty("line.separator")
// 行与行之间的分隔符 相当于“\n”
buf = buf.append(System.getProperty("line.separator"));
}
buf.append(filein);
fos = new FileOutputStream(file);
pw = new PrintWriter(fos);
pw.write(buf.toString().toCharArray());
pw.flush();
flag = true;
} catch (IOException e1) {
// TODO 自动生成 catch 块
throw e1;
} finally {
if (pw != null) {
pw.close();
}
if (fos != null) {
fos.close();
}
if (br != null) {
br.close();
}
if (isr != null) {
isr.close();
}
if (fis != null) {
fis.close();
}
}
return flag;
}
public static void main(String[] args) throws Exception {
creatLogFile(sdf.format(new Date()));
writeLogFile("日志内容");
}
}