就如题目所说,请教大家这个有什么方法,可以做到吗??
现在是在把数据保存到TXT文件时,要同时取出文件的行数,所以我先通过StreamWriter把数据保存到TXT文件,但是当同时想通过StreamReader取文件中数据行数时,取提示出错,说:文件正在被使用中!!!!
原本以为是文件的只读属性,但是在创建时也没制定文件属性了,
其实我是想在把数据写入txt文件时,同时取出文件的行数,如果大家有什么好的方法,请告诉一下,谢谢。
现在是在把数据保存到TXT文件时,要同时取出文件的行数,所以我先通过StreamWriter把数据保存到TXT文件,但是当同时想通过StreamReader取文件中数据行数时,取提示出错,说:文件正在被使用中!!!!
原本以为是文件的只读属性,但是在创建时也没制定文件属性了,
其实我是想在把数据写入txt文件时,同时取出文件的行数,如果大家有什么好的方法,请告诉一下,谢谢。
解决方案 »
- C#页面跳转
- Graphics.ScaleTransform(Single, Single)
- DateTime.Now的问题
- 哪里有免费的像这样(或更好的)的完整论坛代码:http://www.objectarx.net/bbs/forumdisplay.php?fid=6,我想练习
- 窗口执行完打印命令后,自动关闭,用JS可以怎样写?请教~~~
- C#如何保存datetimepicker设定的值
- c#中SQL语句中“update”问题
- 请教下 以下设计如何来实现
- 请问如果某个列的值未指定,ADO.NET能否用SQL SERVER设置的DEFAULTVALUE INSERT,而不用INSERT NULL值??
- c++转换C#问题,立马给分
- dataAdapter.Update更新少一行
- Winform实现图片位移效果
//行番号
int iLine = 0;
using (StreamReader sr = new StreamReader(@"D:\test.txt"))//读取文件txt
{
while (!sr.EndOfStream)
{
iLine++;
string sLine = sr.ReadLine();
if (sLine.Length < 1)
{
continue;
}
string sRecordKbn = sLine.Substring(0, 8);//截取的数据
if (File.Exists(@"D:\test1.txt"))//提出数据存放文件txt
{
using (StreamWriter sw = File.AppendText(@"D:\test1.txt"))
{
sw.WriteLine(sRecordKbn);
}
}
else//文件不存在创建文件
{
FileStream fs;
fs = File.Create(@"D:\test1.txt");//创建不要用file创建
//使用File.Create创建再复制/移动/删除时会提示:文件正由另一进程使用,因此该进程无法访问该文件
//改用 FileStream 获取 File.Create 返回的 System.IO.FileStream 再进行关闭就无此问题
fs.Close();
using (StreamWriter sw = File.AppendText(@"D:\test1.txt"))
{
sw.WriteLine(sRecordKbn);
} }
}
}
看iLine就知道是哪行了。
问题已经解决,看来创建文件还有很多不同点。但是好像这个方法有点不明白。