• 记事本中存储了学生名单,一写一个学生姓名 通过FileStream、StreamReader来读取记事本文件,将读取的内容存放到DataTable中
    记事本中存储了学生名单,一行写一个学生姓名

    通过FileStream、StreamReader来读取记事本文件,将读取的内容存放到DataTable中


    /// <summary>
    /// DataTable显示选择的学生名单
    /// </summary>
    /// <returns></returns>
    public static DataTable StuList()
    {
    	DataTable dt = new DataTable();
    	dt.Columns.Add("学生姓名");
    	string sFilePath = string.Empty;
    
    	//// 学生名单的路径
    	sFilePath = Parameters.g_sStuListPath + frm.cblClass.SelectedItem;
    
    	//// 判断学生名单是否存在
    	if (!File.Exists(sFilePath))
    	{
    		MessageBox.Show("该学生名单文件不存在,请检查是否有误。");
    		return dt;
    	}
    
    	string sStuName = string.Empty;
    	FileStream fs = new FileStream(sFilePath, FileMode.Open);
    	//// "GB2312"用于显示中文字符,写其他的,中文会显示乱码
    	StreamReader reader = new StreamReader(fs, UnicodeEncoding.GetEncoding("GB2312"));
    
    	//// 一行一行读取
    	while ((sStuName = reader.ReadLine()) != null)
    	{
    		sStuName = sStuName.Trim().ToString();
    		DataRow dr = dt.NewRow();
    		dr["学生姓名"] = sStuName;
    		dt.Rows.Add(dr);
    	}
    
    	m_dtStu = dt;
    	
    	//// 关闭文件流
    	fs.Close();
    	return dt;
    }


    展开全文
  • 最近帮一个老学长,准研究生,做一个入学要交的作业,要求是C#/Python语言,我就想熟悉下C#。 大概需求如下图展示: 直接看代码:===================================== using System; using System....

    最近帮一个老学长,准研究生,做一个入学要交的作业,要求是C#/Python语言,我就想熟悉下C#。

    大概需求如下图展示:

    直接看代码:=====================================

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace 作业
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void SelectedBtb_Click(object sender, EventArgs e)
            {
                OpenFileDialog dialog = new OpenFileDialog();
                dialog.Multiselect = false;//该值确定是否可以选择多个文件
                dialog.Title = "请选择文件夹";
                dialog.Filter = "文本文件(*.txt*)|*.txt*";
                if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    string file = dialog.FileName;
                    this.txtPath.Text = file;
                }
                else
                {
                    MessageBox.Show("未选中txt文件");
                }
            }

            private void Button1_Click(object sender, EventArgs e)
            {
               
                //读取文件的位置
                string readPath = this.txtPath.Text.Trim();
                //存储文件的位置及名字
                string writePath = this.textBox1.Text.Trim();

                //按行读取txt
                string[] lines = File.ReadAllLines(readPath, System.Text.Encoding.Default);
                //list用于存目标列中的、转为double类型的数据
                List<double> list = new List<double>();
                //list_xxx用于存分级数据
                List<double> list_1 = new List<double>();
                List<double> list_2 = new List<double>();
                List<double> list_3 = new List<double>();
                List<double> list_4 = new List<double>();

                //为了方便double数值与科学计数法的数值转换,存在键值对中
                Dictionary<double, string> dic = new Dictionary<double, string>();

                foreach (var item in lines)
                {
                    //分割数据
                    string[] str = item.Split(new char[] { ' ' });
                    //得到目标列数据
                    string goalStr = str[2];
                    //将目标列的数据转为double类型
                    double goalData = double.Parse(goalStr);
                    //将得到的double的数据存起来
                    list.Add(goalData);

                    //以double类型数据作为键,科学计数值作为值,目的是:找到科学记数法的值容易找到
                    dic[goalData] = goalStr;
                }
                //归类,找到自己属于哪一分级
                foreach (var item in list)
                {
                    if (item < -0.005)
                    {
                        list_1.Add(item);
                    }
                    else if (item > -0.005 && item < -0.003)
                    {
                        list_2.Add(item);
                    }
                    else if (item > -0.003 && item < -0.001)
                    {
                        list_3.Add(item);
                    }
                    else
                    {
                        list_4.Add(item);
                    }

                }


                //注意:分块只能4 2 3 1这样的顺序,不然会导致越界
                //i为lines的索引
                int i = 0;
                for (; i < list_4.Count; i++)
                {
                    StreamWriter sw = CreateAppendTxt(writePath);
                    //按行写入
                    sw.WriteLine(lines[i] + " " + dic[list_4[i]] + "_分块4");
                    sw.Close();
                }
                //为了验证是否长度正确
                Console.WriteLine(i);
                int j = 0;
                for (; i < (list_4.Count + list_2.Count) && j < list_2.Count; i++)
                {
                    StreamWriter sw = CreateAppendTxt(writePath);
                    sw.WriteLine(lines[i] + " " + dic[list_2[j++]] + "_分块2");
                    sw.Close();
                }
                //为了验证是否长度正确
                Console.WriteLine(i);
                int k = 0;
                for (; i < (list_4.Count + list_2.Count + list_3.Count) && k < list_3.Count; i++)
                {
                    StreamWriter sw = CreateAppendTxt(writePath);
                    sw.WriteLine(lines[i] + " " + dic[list_3[k++]] + "_分块3");
                    sw.Close();
                }
                //为了验证是否长度正确
                Console.WriteLine(i);
                int l = 0;
                for (; i < (list_4.Count + list_2.Count + list_3.Count + list_1.Count) && l < list_1.Count; i++)
                {
                    StreamWriter sw = CreateAppendTxt(writePath);
                    sw.WriteLine(lines[i] + " " + dic[list_1[l++]] + "_分块1");
                    sw.Close();
                }

                this.shouTxt.Text = "完成啦,赶紧查看吧!";
            }

            /// <summary>
            /// 创建一个txt写入流
            /// </summary>
            /// <param name="path">写文件路径</param>
            /// <returns>StreamWriter对象</returns>
            private static StreamWriter CreateAppendTxt(string path)
            {
                FileInfo myFile = new FileInfo(path);
                StreamWriter sw = myFile.AppendText();
                return sw;
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                this.shouTxt.Text = "数据量大,可能要一会儿!!";
                //如果不手动选存储位置,则默认为D盘根目录
                this.textBox1.Text = @"D:\new_" + DateTime.Now.Year+DateTime.Now.Month+DateTime.Now.Day+DateTime.Now.Hour+DateTime.Now.Minute+DateTime.Now.Second+".txt";
            }
        }
    }
    直接看代码:================================

    各位可以根据代码添加窗体就行!

    这是数据自己下载:

    链接:https://pan.baidu.com/s/19l3mGq-QnLfn2jvK7BGv_A 
    提取码:k2ve 
    复制这段内容后打开百度网盘手机App,操作更方便哦

    展开全文
  • C#按行读取文件

    2020-06-03 23:33:11
    C#按行读取文件,显示在richtextbox中。
  • C#-按行读取txt文本

    2019-10-20 22:54:07
    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms...using System.IO...
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    
    namespace WindowsFormsApp2
    {
    	public partial class Form1 : Form
    	{
    		public Form1()
    		{
    			InitializeComponent();
    		}
    
    		private void button1_Click(object sender, EventArgs e)
    		{
    			
    			//按行读取txt文本
    			string path = @"G:\Desktop\QuartzSideA-film_1.txt";
    			StreamReader sr = new StreamReader(path, Encoding.Default);
    			String line;
    			while ((line = sr.ReadLine()) != null)
    			{
    				textBox1.Text += line + "\r\n";
    			}			
    		}
    	}
    }
    

     

    展开全文
  • C#如何读取文件前面说过了:http://blog.csdn.net/yysyangyangyangshan/article/details/6948327,下面以一个例子来说明如何按行读取,其实很简单,就是使用FileStream的ReadLine()方法。 例如有这样一个文件test....
    C#如何读取文件前面说过了:http://blog.csdn.net/yysyangyangyangshan/article/details/6948327,下面以一个例子来说明如何按行读取,其实很简单,就是使用FileStream的ReadLine()方法。
    例如有这样一个文件test.txt,读取出来显示在一个richtextbox中,文件内容如下:
    诺基亚    =N8
    摩托罗拉  =ME525+
    华为   =HONOR
    HTC=A3366/T9299
    读取方法为:
     public static Dictionary<string, string> ReadLineFile()
            {
                string filePath = Common.StartupPath + @"test.txt";
    
                Dictionary<string, string> contentDictionary = new Dictionary<string, string>();
    
                if (!File.Exists(filePath))
                {
                    return contentDictionary;
                }
    
                FileStream fileStream = null;
    
                StreamReader streamReader = null;
    
                try
                {
                    fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
    
                    streamReader = new StreamReader(fileStream, Encoding.Default);
    
                    fileStream.Seek(0, SeekOrigin.Begin);
    
                    string content = streamReader.ReadLine();
    
                    while (content != null)
                    {
                        if (content.Contains("="))
                        {
                            string key = content.Substring(0, content.LastIndexOf("=")).Trim();
    
                            string value = content.Substring(content.LastIndexOf("=") + 1).Trim();
    
                            if (!contentDictionary.ContainsKey(key))
                            {
                                contentDictionary.Add(key, value);
                            }
                        }
                        content = streamReader.ReadLine();
                    }
                }
                catch
                {
                }
                finally
                {
                    if (fileStream != null)
                    {
                        fileStream.Close();
                    }
                    if (streamReader != null)
                    {
                        streamReader.Close();
                    }
                }
                return contentDictionary;
            }

    显示richtextbox如图:


    详细工程:http://download.csdn.net/detail/yysyangyangyangshan/4073781



    展开全文
  • @C#如何将.txt文本的内容按行存储到数组中并求出行数 接下来我会介绍如何按行读取文本内容,并求出行数。 下面给出我的代码: CrichTextBox1.Text = ""; //CompFile是存储待压缩文件路径的.txt文件 string filePath ...

    @C#如何将.txt文本的内容按行存储到数组中并求出行数

    接下来我会介绍如何按行读取文本内容,并求出行数。

    下面给出我的代码:

    CrichTextBox1.Text = "";
    //CompFile是存储待压缩文件路径的.txt文件
    string filePath = @"D:\Tasks\App3\CompFile.txt";    
    
    if (!(File.Exists(filePath)))
    {
    	MessageBox.Show(filePath + "文件不存在!");
        return;
    }
    //创建filePath的FileStream对象
    FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);  
    //构造新的StreamReader对象,读取文件 
    StreamReader sr = new StreamReader(fs);  
    //定义一个数组line,存放读取到的待解压文件的路径  
    string[] line = new string[100]; 
    //定义数组line初始长度为0
    int lines = 0;   
    //按行读取filePath文本内容 
    string ls = "";
    int i = 0;
    while ((ls = sr.ReadLine()) != null)    
    {
    	line[i] = ls;     //将读取到的文件路径按先后顺序存放到line中
        lines++;     ////数组line的长度加1
        CrichTextBox1.Text += line[i] + "\r\n";    //将读取到的文件路径显示在CrichTextBox1中
        i++;
    }
    

    以上就是我就这个问题所写的代码,希望能够对大家有帮助!

    展开全文
  • StreamReader sr = new StreamReader(path, Encoding.Default); //path为文件路径 String line; while ((line = sr.ReadLine()) != null)//按行读取 line为每的数据 { ...
  • C# 高效提取txt文档最后一数据 AnuoF关注 2018.06.25 14:15*字数 352阅读 1502评论 0喜欢 0 如题,最近在开发一个小型项目,由于数据量比较小,且无复杂的数据关系,数据量一天一个对象大概也就2~3M的大小,...
  • C#提取txt内容

    2020-06-29 15:13:30
    C#提取txt内容,将txt内容提取出来后,在文本框中显示,txt路径通过程序设定。
  • 1、如下为事例代码: 其中一定要注意的事编码规则那个地方,如果文档中有汉字,没有选择正确的编码规则,那么读取的信息,汉字是乱码。 Encoding.Default,指默认的编码规则,可改变点后面的规则 ...
  • 下面是利用C#按行写入文件的操作: FileInfo finfo = new FileInfo("D:/result.dat"); if (!finfo.Exists) { finfo.Create(); } else {
  • foreach(string str in System.IO.File.ReadAllLines("d:\123.txt", Encoding.Default) { Console.WriteLine(str); // str就是每一数据 }     txt写入   public void Write() { FileStr...
  • c# TXT操作总结

    2020-07-04 23:30:34
    c#操作txt的类库总结 包含写入txt、读取txt、读取指定、删除指定、查询txt指定内容 给定条件查询、删除文件以及递归删除文件等功能
  • C#读取txt的指定

    2014-12-17 21:29:58
     方法1 string[] lines = File.ReadAllLines(filePath + ...然后就可以通过指定lines的下标来处理指定的 方法2 StreamReader objReader = new StreamReader("c:\\test.txt");  string sLine="";  
  • txt文件中有一组数据有6,每512个数据,想知道怎么读取这些数据到二维数组中以便于之后的数据处理。
  • c# 倒序读取txt文件

    2016-08-01 18:28:52
    c# 倒序读取txt文件
  • c#将文本框的内容保存为txt文件,Textbox中的数据内容有换行,输出为txt文件之后,没有换行,这个怎么办?
  • C#界面有一个textbox控件,一个button控件, ![图片说明](https://img-ask.csdn.net/upload/201807/02/1530496982_28723.png) txt文档内容如下, ![图片说明]...
  • C#读取.txt文件

    2020-07-12 23:31:34
    昨天同学叫我帮他个忙,因为他本身没有学过C#,我就花了点时间帮他写了,网上搜了下,写了个很简单的,先从文件读进来,写入内存中,注意,我 这个程序读的时候是一的读进来的。 大家自己用的时候,自己看着...
  • C#计算txt文件的行数

    2020-07-01 11:06:02
    C#计算txt文件的行数
1 2 3 4 5 ... 20
收藏数 25,421
精华内容 10,168