JAVA中自定义日志输出到指定文件

博客介绍了使用Java将字符串写入文件的方法。首先创建自定义类WrittenLog,接着定义固定路径,再定义字符串写入方法,该方法有绝对路径和传入字符串两个参数,最后创建实例并调用方法完成字符串写入文件操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建一个类,以便调用方法,类名自定义,我这里定义类名是: WrittenLog

1.定义一个固定的路径:

private static final String fileXml = "C:/Users/zhangjie/Desktop/loger/loger";

2.定义一个字符串写入的方法,其中有两个参数,一个是绝对路径(fileXml),一个是传入的字段串(context)

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.StringReader;
import java.io.Writer;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.xml.sax.InputSource;
//把参数写入日志文件
	private void logger (String context,String fileXml) throws IOException{
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String trace = sdf.format(new Date().getTime());定义一个系统时间
		File file = new File(fileXml);
		if (!file.exists()) {检测是否有logger.TXT文件
			file.mkdir();
		}
		
		String path = file+".txt";
		File writeFile = new File(path);
		if (!writeFile.exists()) {检测是否在该路径下有logger文件夹
			writeFile.createNewFile();
			writeFile = new File(path);
		}
		FileOutputStream fw = new FileOutputStream(writeFile,true);
		Writer out = new OutputStreamWriter(fw,"UTF-8");设置字符集编码格式
		out.write(trace+"----"+context);
		String newFile = System.getProperty("line.separator");
		out.write(newFile);
		out.close();
	        fw.flush();
		fw.close();
                下列是xml格式的参数匹配,如果是json格式参数无需下列代码
		Pattern p = Pattern.compile(">(\\s*|\n|\t|\r)<");  
		Matcher m = p.matcher(response);  
		String returnxml = m.replaceAll("><");  
	    DocumentBuilderFactory builderFactory =         DocumentBuilderFactory.newInstance();
		Document doc = null;
		DocumentBuilder builder = builderFactory.newDocumentBuilder();
		if(returnxml!=null){
			StringReader sr = new StringReader(returnxml);
			InputSource is = new InputSource(sr);
			doc = builder.parse(is);
		}else{
			throw new Exception("没有收款单数据传入!");
		}
	}

3.创建实例,调用方法:

           WrittenLog write = new WrittenLog();

            write.logger(context,fileXml);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗的小虾米

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值