• 用C#读取txt文件的方法(转)


     
    1、使用FileStream读写文件
     
    文件头:
     
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
     
    读文件核心代码:
     
    byte[] byData = new byte[100];
    char[] charData = new char[1000];
     
    try
    {
    FileStream sFile = new FileStream("文件路径",FileMode.Open);
    sFile.Seek(55, SeekOrigin.Begin);
    sFile.Read(byData, 0, 100); //第一个参数是被传进来的字节数组,用以接受FileStream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符.
    }
    catch (IOException e)
    {
    Console.WriteLine("An IO exception has been thrown!");
    Console.WriteLine(e.ToString());
    Console.ReadLine();
    return;
    }
    Decoder d = Encoding.UTF8.GetDecoder();
    d.GetChars(byData, 0, byData.Length, charData, 0);
    Console.WriteLine(charData);
    Console.ReadLine();
     
    写文件核心代码:
     
    FileStream fs = new FileStream(文件路径,FileMode.Create);
    //获得字节数组
    byte [] data =new UTF8Encoding().GetBytes(String);
    //开始写入
    fs.Write(data,0,data.Length);
    //清空缓冲区、关闭流
    fs.Flush();
    fs.Close();
     
    2、使用StreamReader和StreamWriter
     
    文件头:
     
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
     
    StreamReader读取文件:
     
    StreamReader objReader = new StreamReader(文件路径);
          string sLine="";
          ArrayList LineList = new ArrayList();    
          while (sLine != null)
          {
            sLine = objReader.ReadLine();
            if (sLine != null&&!sLine.Equals(""))
              LineList.Add(sLine);
          }
                objReader.Close();
                return LineList;
     
    StreamWriter写文件:
     
      FileStream fs = new FileStream(文件路径, FileMode.Create);
    StreamWriter sw = new StreamWriter(fs);
    //开始写入
    sw.Write(String);
     //清空缓冲区
    sw.Flush();
    //关闭流
    sw.Close();
    fs.Close();

    用C#读取.txt文件,常用
    StreamReader sr = new StreamReader("TestFile.txt")///StreamReader sr = new StreamReader("TestFile.txt",Encoding.GetEncoding("GB2312"))
    ///GBK
    String line;
    while ((line = sr.ReadLine()) != null) 
    {
       textBox1 .Text +=ii.ToString ()+" -"+line.ToString()+"\r\n";

    }
    加入引用:System.IO 
    StreamReader objReader = new StreamReader("c:\\test.txt");
         System.IO 命名空间中的对象,尤其是 System.IO.StreamReader 类。

    \r\n一般一起用,用来表示键盘上的回车键.也可只用\n.\t表示键盘上的“TAB”键。
  • 相关阅读:
    匈牙利算法
    Tabbed Activity = viewpager + fragment ?
    gdb调试多线程多进程
    gdb 调试,当发现程序退出,需要定位程序退出位置时。
    将Linux的信号量sem_t封装成事件对象
    Golang包管理工具govendor的使用&go mod
    go get命令详解
    GoLand生成可执行文件(Windows、Linux)
    Linux下线程pid和tid
    理解Linux的进程,线程,PID,LWP,TID,TGID
  • 原文地址:https://www.cnblogs.com/happywang/p/2789507.html
Copyright © 2020-2023  润新知