c#文本Txt相关操作

最近在学习操作文本。(目前看到的相关资料只有教你如何创建,写如一个字符,或是如何读取一个字符)
1.想把一个二维数组的元素按行列写入文本
2.如何按行按列读取上述文本的元素
3.如何直接读取文本第十行的内容(而不需要读取其他行)
对上述几个问题有点茫然,求高手给点建议,谢谢喽^^

1,可以把二维数据中一行的数据拼成一个字符串,按一定的分隔符分隔组成一行,StreamWrite,BinaryWriter或其它将这一行写入到文件中。
2.按行可以读取,按列不行,其实你可以将文本一行一行的读出来,根据上面的分隔符把它反解到二维数组中。假如读到一个数据是以逗号分隔。
StreamReader sr=new StreamReade("文件名");
string s=sr.ReadLine();
string[] row=s.Split(",");//这是一行的数据
然后将这一行填充到二维数据中的一行了。
3.这是不行的,除非你知道你的一行有多大,然后StreamReader有个方法Read(char[] buffer,int index,int count);从那里开始读多少到buffer中。
其实你可以把你想要写入数据,定义成为一个可以序列化的类,序列化到文件,把文件反序列化成类,这都是很方便的事情,基本上不两三行代码就可以了。追问

嗯,谢谢。按行按列写入数据搞定了,但现在反过来用二维数组读取数据就不行了。(data[i, j] = sr.ReadLine();只能把一行所有内容当作一个字符串读取。行数据是空格隔开)以前学Fortran的时候操作txt很方便,可以一个一个数据的读。除了你说的方法还有简单的吗?

追答

string[] arr= sr.ReadLine().split(" ");
data[i, j] =arr[j];
这样是一样的吧,前提是你要这一行有多少个,不然数据会越界的

温馨提示:内容为网友见解,仅供参考
无其他回答

c#文本Txt相关操作
1,可以把二维数据中一行的数据拼成一个字符串,按一定的分隔符分隔组成一行,StreamWrite,BinaryWriter或其它将这一行写入到文件中。2.按行可以读取,按列不行,其实你可以将文本一行一行的读出来,根据上面的分隔符把它反解到二维数组中。假如读到一个数据是以逗号分隔。StreamReader sr=new StreamReade...

怎样用C#读取TXT文件内容并修改
1、首先先来看一下准备的txt文本文件的内容。2、然后在程序中引入操作文件的命名空间System.IO。3、接下来需要定义一个变量,存储文件所在的路径。4、然后我们先读取文本内容,调用File类的ReadAllLines即可读取所有内容。5、接下来是修改内容,先按照下图的方式,准备要修改的内容。6、准备好内容以后,调用...

C#读取txt文件并 依照条件分类输出到不同的txt文件中
1. C# 操作txt,使用的是流操作。主要用到的两个对象是StreamReader和StreamWriter。使用的对象方法是:ReadLine()一行一行读取和WriteLine()一行一行写入。由于用到Stream对象,所以首先要引用System.IO命名空间:using System.IO;引用后,定义StreamReader和StreamWriter对象:private StreamReader _rstream...

如何在C#中使用FileStream操作文本文件并读取内容?
在C#中,我们使用Filestream来操作文件。首先,我们定义一个名为Test的类,它包含一个Main方法,用于执行文件操作。在Main方法中,我们检查文件"C:\\temp\\MyTest.txt"是否存在,如果存在,就删除它。接着,我们创建一个新的FileStream对象并使用File.Create方法,以便向文件中写入文本。我们连续调用AddText方...

C# 对txt文本行数据进行对比并批量操作
1 读取txt c#使用filestream读取text, 读出来是一行一行的,可以自行组成一个List<string>的 2 对比,你这个其实就是list1和list2 的分行比较,每次比较一行字符串 看是不是符合你要的规律 foreach(var line1 in list1) \/\/line1 就是txt1中的某一行 { foreach(var line2 in list2){ if(...

C#执行TXT文本里的代码
比如txt里面写了 1+2 你希望执行这个表达式。那你就得解析,当你读到+号这个字符的时候,就需要分析它两边是不是都有数字,如果是,用int.parse("1")+int.parse("2")去返回结果,如果不是,那可能是+2这样的正数描述 意思就是你得先定义+号这样的命令出来。另,能不能贴出你的txt里面的代码...

C#如何获取txt文本文档中指定的字符串并赋给数组,例如:获取文本文档...
string S;string[] SplitArray;SR = File.OpenText("D:\\\\xx.txt"); \/\/字符串所在文件 S = SR.ReadLine(); \/\/读一行 if(S != null){ SplitArray = S.Split('='); \/\/把字符串分成字符串数组,abcd,1234等等。\/\/...这里写你处理字符串的代码 \/\/...} SR.Close(); \/\/关闭文件 ...

C#对文本文档的处理:打开一个已知TXT文件并向其中写入
针对文本文件的话推荐用StreamWriter类 在代码开头加上using System.IO;StreamWriter textWriter = new StreamWriter("C:\\\\c#\\\\text.txt");这样就创建了一个输出流,然后就可以通过这个流来写文件了 常用的方法有 Write写数据 WriteLine写数据并加上换行符 写操作完成后记得textWriter.Close()就行了 ...

c# 对txt文件的操作
private void ReadTxt(){ StreamReader stream = System.IO.File.OpenText(@"d:\\a.txt"); \/\/读取 ArrayList myList = new ArrayList();while (stream.Peek() > -1){ string lineText = stream.ReadLine();string[] texts = Regex.Split(lineText.Trim(), @"\\s+"); \/\/将名称与值分...

c#中如何向txt文件中输入数据?还有怎么使后一次输入数据后不把前一次...
楼主,可以使用File类 AppendAllLines(String, IEnumerable<String>) 在一个文件中追加文本行,然后关闭该文件。pendAllText(String, String) 打开一个文件,向其中追加指定的字符串,然后关闭该文件。如果文件不存在,此方法创建一个文件,将指定的字符串写入文件,然后关闭该文件。AppendAllText(String, ...

相似回答
大家正在搜