java 将控制台输出写入文件路径_如何将控制台输出保存到文件?

我想知道是否有人可以帮助我,我试图将我的控制台输出保存到一个文件,但它只需要一个输出,我希望它每次在控制台中显示时附加输出(或多或少每秒),我尝试了一些不同的方法,但似乎没有任何工作,我甚至不确定这是否可行 .

1)这是我的第一次尝试:它只需要一个控制台输出,但据我所知,它应该重定向它 .

FileStream ostrm;

StreamWriter writer;

TextWriter oldOut = Console.Out;

try

{

ostrm = new FileStream("C:/Users/Joanne/Desktop/WriteLines3.txt", FileMode.OpenOrCreate, FileAccess.Write);

writer = new StreamWriter(ostrm);

}

catch (Exception e)

{

Console.WriteLine("Cannot open Redirect.txt for writing");

Console.WriteLine(e.Message);

return;

}

while(onvifPTZ != null) {

Console.SetOut(writer);

Console.WriteLine("\t Act Value [" + curPan.ToString() +

"," + curTilt.ToString() +

"," + curZoom.ToString() + "]");

Console.WriteLine("\t Ref Value [" + newPTZRef.pan.ToString() +

"," + newPTZRef.tilt.ToString() +

"," + newPTZRef.zoom.ToString() + "]");

Console.WriteLine("\t Dif Value [" + dPan.ToString() +

"," + dTilt.ToString() +

"," + dZoom.ToString() + "]");

Console.SetOut(oldOut);

writer.Close();

ostrm.Close();

Console.WriteLine("Done");

2)那两个没有重定向控制台

/*while (onvifPTZ != null)

{

string[] lines = {"\t Act Value [" + curPan.ToString() +

"," + curTilt.ToString() +

"," + curZoom.ToString() + "]","\t Ref Value [" + newPTZRef.pan.ToString() +

"," + newPTZRef.tilt.ToString() +

"," + newPTZRef.zoom.ToString() + "]", "\t Dif Value [" + dPan.ToString() +

"," + dTilt.ToString() +

"," + dZoom.ToString() + "]" + Environment.NewLine };

string mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

using (StreamWriter outputFile = new StreamWriter(Path.Combine(mydocpath, "WriteLines1.txt")))

{

foreach (string line in lines)

outputFile.WriteLine(line);

outputFile.Flush();

}

3)

/* string path = @"c://Users//Joanne//Desktop//WriteLines.txt";

if (!File.Exists(path))

{

// Create a file to write to.

using (StreamWriter sw = File.CreateText(path))

{

while(onvifPTZ!=null){

sw.WriteLine("\t Act Value [" + curPan.ToString() +

"," + curTilt.ToString() +

"," + curZoom.ToString() + "]");

sw.WriteLine("\t Ref Value [" + newPTZRef.pan.ToString() +

"," + newPTZRef.tilt.ToString() +

"," + newPTZRef.zoom.ToString() + "]");

sw.WriteLine("\t Dif Value [" + dPan.ToString() +

"," + dTilt.ToString() +

"," + dZoom.ToString() + "]");

sw.Flush();

//sw.Close();

}

}

}

/*using (StreamWriter sw = File.AppendText(path)) {

while (onvifPTZ != null)

{

sw.WriteLine("\t Act Value [" + curPan.ToString() +

"," + curTilt.ToString() +

"," + curZoom.ToString() + "]");

sw.WriteLine("\t Ref Value [" + newPTZRef.pan.ToString() +

"," + newPTZRef.tilt.ToString() +

"," + newPTZRef.zoom.ToString() + "]");

sw.WriteLine("\t Dif Value [" + dPan.ToString() +

"," + dTilt.ToString() +

"," + dZoom.ToString() + "]");

sw.Flush();

//sw.Close();

}

}

using (StreamReader sr = File.OpenText(path))

{

string s = "";

while ((s = sr.ReadLine()) != null)

{

Console.WriteLine(s);

}

}

// Open the file to read from.

/* using (StreamReader sr = File.OpenText(path))

{

string s;

while ((s = sr.ReadLine()) != null)

{

Console.WriteLine(s);

}

}*/

似乎没有什么工作正常...我的控制台看起来像这样,对于相机所做的每一次移动都会附加一个值:

[1003]

myTimedFunction got called at 1003

Act Value [2.777576E-05,0,0]

Ref Value [0.06279052,0.0125581,0.06279052]

Dif Value [0.06276274,0.0125581,0.06279052]

[2006]

myTimedFunction got called at 2006

Act Value [2.777576E-05,0,0.020052]

Ref Value [0.1253332,0.02506665,0.1253332]

Dif Value [0.1253055,0.02506665,0.1052812]

[3006]

myTimedFunction got called at 3006

Act Value [0.06586289,0.02461553,0.06845684]

Ref Value [0.1873813,0.03747626,0.1873813]

Dif Value [0.1215184,0.01286074,0.1189245]

[4007]

myTimedFunction got called at 4007

Act Value [0.09025252,0.02461553,0.1652665]

Ref Value [0.2486899,0.04973798,0.2486899]

Dif Value [0.1584374,0.02512245,0.08342336]

[5008]

myTimedFunction got called at 5008

Act Value [0.1146421,0.02461553,0.2651765]

Ref Value [0.309017,0.0618034,0.309017]

Dif Value [0.1943749,0.03718787,0.0438405]

[6008]

myTimedFunction got called at 6008

Act Value [0.1300313,0.02461553,0.3089309]

Ref Value [0.3681245,0.07362491,0.3681245]

Dif Value [0.2380932,0.04900938,0.05919364]

[7009]

myTimedFunction got called at 7009

Act Value [0.1453651,0.02461553,0.3681368]

Ref Value [0.4257793,0.08515586,0.4257793]

Dif Value [0.2804142,0.06054033,0.05764246]

[8009]

myTimedFunction got called at 8009

Act Value [0.1606989,0.02461553,0.4256926]

Ref Value [0.4817537,0.09635074,0.4817537]

Dif Value [0.3210548,0.07173521,0.05606112]

[9010]

myTimedFunction got called at 9010

Act Value [0.1850885,0.02461553,0.4815482]

Ref Value [0.5358268,0.1071654,0.5358268]

Dif Value [0.3507383,0.08254983,0.05427864]

[10010]

myTimedFunction got called at 10010

Act Value [0.1935887,0.02461553,0.5225022]

Ref Value [0.5877852,0.117557,0.5877852]

Dif Value [0.3941965,0.09294152,0.065283]

[11010]

myTimedFunction got called at 11010

Act Value [0.2179784,0.02461553,0.5454546]

Ref Value [0.637424,0.1274848,0.637424]

Dif Value [0.4194456,0.1028693,0.09196943]

但实际上我创建的文件只占用第一个值,仅此而已......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值