最近在做项目,需要把数据存到txt文件中,方便别人的使用。我用的是VS2010,C#语言。
具体要求:每一行有三个不同类型的数据,中间用制表符隔开,并且有多行。
实现的方法有很多,我说一下我采用的方法。
不多说了,上车,直接发代码哈。
//前面的代码是文件夹选择框,folderBrower.SelectedPath是我选中的文件夹的路径,当然路径是可以自己确定的,可以在任意路径下面创建
string newTxtPath = folderBrower.SelectedPath + "/depth.txt";//创建txt文件的具体路径,我这里在选中的路径中创建名为depth的txt文件
StreamWriter sw = new StreamWriter(newTxtPath, false, Encoding.Default);//实例化StreamWriter
在StreamWriter中,在实例化中,可以有三个参数,第一个是路径,第二个是确定当文件存在时,是覆盖掉还是将数据追加到文件中,true是将数据追加到已存在文件中,false是覆盖已存在的文件。第三个参数是要使用的字符编码,一般是使用默认的。具体请参考:https://msdn.microsoft.com/zh-cn/library/f5f5x7kt(v=vs.110).aspx
前面两句代码已经实现在选中的路径下创建一个txt文件,接下来就是要往文件中写数据了。因为我要实现的是一行一行的写数据,所以我用的是writeLine。
sw.WriteLine ( longitude.ToString("F8") + "\t" + latitude.ToString("F8") + "\t" + depth.ToString() );
//为了整齐,前面的两个double型变量取8位小数,\t是制表符
这样实现向txt中写入一行的数据,因为我的程序里,这行代码是放在循环里面,所以能实现不断地写入一行行的数据。
如果不想一行行地写入,可以用write。具体请参考:https://msdn.microsoft.com/zh-cn/library/system.io.streamwriter(v=vs.110).aspx
在结束写入数据的时候,记得要清空缓存,并且关闭StreamWriter。
sw.Flush();
sw.Close();
最后的结果是,如图。