5个回答
展开全部
修改LogWriter类的静态域即可随意切换输出了。main方法中代码不用改变。
代码如下:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class WriteOut {
public static void main(String[] args) throws IOException {
LogWriter.log("log info...");
}
}
class LogWriter {
// 可以写作配置:true写文件; false输出控制台
private static boolean fileLog = true;
private static String logFileName = "/tmp/log.log";
public static void log(String info) throws IOException {
OutputStream out = getOutputStream();
out.write(info.getBytes("utf-8"));
}
public static OutputStream getOutputStream() throws IOException {
if (fileLog) {
File file = new File(logFileName);
if (!file.exists())
file.createNewFile();
return new FileOutputStream(file);
} else {
return System.out;
}
}
}
代码如下:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class WriteOut {
public static void main(String[] args) throws IOException {
LogWriter.log("log info...");
}
}
class LogWriter {
// 可以写作配置:true写文件; false输出控制台
private static boolean fileLog = true;
private static String logFileName = "/tmp/log.log";
public static void log(String info) throws IOException {
OutputStream out = getOutputStream();
out.write(info.getBytes("utf-8"));
}
public static OutputStream getOutputStream() throws IOException {
if (fileLog) {
File file = new File(logFileName);
if (!file.exists())
file.createNewFile();
return new FileOutputStream(file);
} else {
return System.out;
}
}
}
展开全部
import java.io.*;
public class test{
public static void main(String[] args){
File file=new File("test.txt");
try{
FileWriter out=new FileWriter(file);
out.write("hsohjflsdkhdsf",0,5);//write(String str,int off,int len) off表示输入的初始位置,lenb表示输入长度
out.close();
}
catch(Exception e){}
}
}
可以把你在控制台的信息在out.write()方法中替换对应的数据
public class test{
public static void main(String[] args){
File file=new File("test.txt");
try{
FileWriter out=new FileWriter(file);
out.write("hsohjflsdkhdsf",0,5);//write(String str,int off,int len) off表示输入的初始位置,lenb表示输入长度
out.close();
}
catch(Exception e){}
}
}
可以把你在控制台的信息在out.write()方法中替换对应的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不太明白你的意思?是所有的内容吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-03-13
展开全部
天一样天
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
log4j...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询