其实还有一个解决方法,你可以把它放在一个ListView或者RichText中然后对指定的行进行你所说的操作,当完成后再用保存的方法把它保存
解决方案 »
- 文章内容智能识别的思路
- ckeditor3.0+ckfinder上传总出现错误
- 如果统计我的搜索结果?使效率更高
- 编写串口程序时如何使用串口模拟器?
- WebBrowser添加背景图片。
- 請教datagrid的問題,同時使用兩個為什麼一個功能不全啊?
- 到底可不可以啊,接口里面定义静态成员
- 讨论一下在C#下使用union的一些问题
- VB如何转化成C#?
- 大家现在努力的学c#,真希望以后的系统里直接有运行环境,不知道微软会不会再以后的系统中捆绑Microsoft .NET Framework SDK,如果捆绑了sun不得和它急呀!
- 求救,关于安装程序?急
- 紧急高分求助:怎么在windows的user control中加一个参数
如何指定读取文件某一行的信息?如何改写某一行的信息上?如何删除某一行的信息?如何在某一行前插入一个新的行先将文件信息读入ArrayList,直接对ArrayList操作,具体代码如下:
using System;
using System.IO;
using System.Collections;
using System.Text;
public class LinesOperator
{
ArrayList lines = null;
String fileName = null;
public static void Main(String[] args)
{
LinesOperator lo = new LinesOperator("test.txt");
lo.DeleteLine(0);
} public LinesOperator(String filename) {
fileName = filename;
Init();
} void Init() {
lines = new ArrayList();
StreamReader sr = new StreamReader(fileName, Encoding.Unicode);
String str;
while ((str = sr.ReadLine()) != null) {
lines.Add(str);
}
sr.Close();
}
void Save() {
StreamWriter sw = new StreamWriter(fileName, false, Encoding.Unicode);
for (int i = 0; i < lines.Count; i++) {
sw.WriteLine((String) lines[i]);
}
sw.Close();
} void DeleteLine(int index) {
lines.RemoveAt(index);
Save();
} void InsertLine(int index, String line) {
lines.Insert(index, line);
Save();
} void UpdateLine(int index, String line) {
lines[index] = line;
Save();
}
}
void ReadLine(int index) {
return lines[index];
}
用filestream之类的能实现文件指标定位吗?另:如何删除一行呢?
--------------------------------------------------------------------------------
作者:wyhw 发表时间:2003-5-15 推荐程度: ★ 查看作者信息以及作者文集
作者:罗会涛
运用StreamReader从一个标准的文本文件读行信息。 StreamReader srReadLine = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII);
srReadLine.BaseStream.Seek(0, SeekOrigin.Begin);
while (srReadLine.Peek() > -1) {
Console.WriteLine(srReadLine.ReadLine());
}
srReadLine.Close();
void DeleteLine(int index) {
lines.RemoveAt(index);
Save();
}实际上,我用java将微软的IO包重新实现了,所以对这个包能做什么不能做什么很清楚。
FileStream是对文件的直接的字节流操作,一般来说不会丢失数据,用的是缓冲存数据,它虽然可以同时读和写,但那只是对字节流而言,与行无关;它虽然可以定位,但那只是对字节而言,也与行无关;它不能插入数据,只能追加和替换一段字节流,这也与行无关;它也不能删除中间的一段数据,只能截断文件尾的数据。也就是说它的操作与行完全无关。
所以只好,读,改,写。
整个儿处理一遍。
感觉很不爽。
非常不爽。
决定转向XML。
从此不用TXT。
其实我也就是闲着没事写一个留言本程序,本来我也是为了图方便用文本文件放数据,没想到只有烦 faint下次吸取教训,直接用XML或者干脆access的数据得了。