java输出文本文件中的变量
我有一些Java代码,如下所示:
public synchronized void printLinkStatistics(Logger log)
{
log.info("\tInput Port = " + inputPort);
Set <Long> ts = statData.keySet();
for(Long t: ts)
{ double utilization = statData.get(t);
if (utilization!=0.0)
{
utilization *= 8.0;
utilization /= 1e6;
if (!Double.isNaN(utilization))
{
log.info("\t\tTimestamp = " + t + ", Utilization = " + utilization + "Mbps");
}
}
}
}
这段代码将在控制台中写入利用率,但我还需要在一个文件中写入利用率+时间戳,以便将来绘制试点。 如何使用此变量创建文件? 我在Ubuntu 12.04中使用Eclipse
伊迪丝 我正在执行此操作,但文件为空:
public synchronized void printLinkStatistics(Logger log)
{
try
{
PrintWriter pw = new PrintWriter(new File("output.txt"));
log.info("\tInput Port = " + inputPort);
Set <Long> ts = statData.keySet();
for(Long t: ts)
{ double utilization = statData.get(t);
if (utilization!=0.0)
{
utilization *= 8.0;
utilization /= 1e6;
if (!Double.isNaN(utilization))
{
log.info("\t\tTimestamp = " + t + ", Utilization = " + utilization + "Mbps");
pw.println("\t\tTimestamp = " + t + ", Utilization = " + utilization + "Mbps");
}
}
}
}
catch (FileNotFoundException e) {
e.printStackTrace(); //handle exception as you want
}
}
# 1 楼答案
您可以使用PrintWriter并将输出重定向到文件。PrintWriter有许多有用的方法,使编写输出变得更容易(有关更多信息,请阅读java文档)。例如
更新后的代码如下所示
为了调用您的方法,您需要像这样将代码包装在try/catch块中