IO(C#) 读写文件简单操作
来源:互联网 发布:java连接mysql url 编辑:程序博客网 时间:2024/06/05 11:31
首先我们有这格式的一个记事本
学号 数学 语文 英语
001 80 90 100
002 90 90 100
003 70 80
004 80 90 90
005 95 95 90
下来我们对此进行简单处理
下面例子是采用 主要是采用将文件读入之后将文件分割成一个一个字符串形式,存放在集合中。所以可以简单的控制其输出格式
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;//集合using System.Collections;namespace display{ class handle { private static List<students> list = new List<students>(); static void Main(string[] args) { handle p = new handle(); list = p.readr(); //序号 学号 平均分 数学 语文 英语 //1 001 90 90 90 90 //2 002 80 70 90 0 Console.WriteLine("直接读出来"); Console.WriteLine("b、文件格式为:"); p.writefile(); p.readerfile(); Console.WriteLine("经过处理之后"); p.getre(); Console.WriteLine(); Console.WriteLine(@"I、 按照平均分降序格式化输出:"); Console.WriteLine("序号 学号 平均分 数学 语文 英语"); for (int i = 0; i < list.Count; i++) { int sum = 0; int avg = 0; Console.Write(i.ToString()+" "); Console.Write(list[i].Str_id+" "); //求平均分 sum += Convert.ToInt32(list[i].Str_SX) + Convert.ToInt32(list[i].Str_YW) + Convert.ToInt32(list[i].Str_YY); avg = sum / 3; Console.Write(avg+" "); Console.Write(list[i].Str_SX+" "); Console.Write(list[i].Str_YW+" "); Console.WriteLine(list[i].Str_YY+" "); } p.gettwo(); Console.WriteLine(); Console.WriteLine(); p.getthree(); Console.ReadKey(); } public void getre() { Console.WriteLine("学号 数学 语文 英语"); for (int i = 0; i < list.Count; i++) { if (list[i].Str_id != null) { Console.Write(list[i].Str_id + "\t"); } if (list[i].Str_SX != null) { if (list[i].Str_id == "004") { Console.Write("\t"); } else { Console.Write(list[i].Str_SX + "\t"); } } if (list[i].Str_YW != null) { if (list[i].Str_id == "001") { Console.Write("\t"); } else { Console.Write(list[i].Str_YW + "\t"); } } if (list[i].Str_YY != null) { Console.WriteLine(list[i].Str_YY + "\t"); } else { Console.WriteLine("\t"); } } } public void getthree() { int avgnum = 0; Console.WriteLine(@"III、计算英语考试平均成绩,格式化输出"); for (int i = 0; i < list.Count; i++) { if (list[i].Str_YY!=null) { avgnum += Convert.ToInt32(list[i].Str_YY.ToString()); } else { avgnum += 0; } } Console.WriteLine("英语平均成绩:"+(avgnum/Convert.ToInt32(list.Count))); } public void gettwo() { Console.WriteLine("II、按照优秀率(>=85分为优秀)降序格式化输出,如:"); //II、按照优秀率(>=85分为优秀)降序格式化输出,如: //序号 学号 优秀率 数学 语文 英语 //1 001 100% 90 90 90 //2 002 33% 90 70 70 Console.WriteLine("序号 学号 优秀率 数学 语文 英语"); int num = 0; string file = ""; for (int i = 0; i < list.Count; i++) { Console.Write(i.ToString()+" "); Console.Write(list[i].Str_id.ToString()+" "); if (Convert.ToInt32(list[i].Str_SX) >= 85) { num = num + 1; } if (Convert.ToInt32(list[i].Str_YW) >= 85) { num = num + 1; } if (Convert.ToInt32(list[i].Str_YY) >= 85) { num = num + 1; } //file = ((double)100 /num).ToString() + "%"; if (num == 1) { file = "33%"; } if (num==2) { file = "66%"; } if (num==3) { file = "100%"; } Console.Write(file+" "); if (list[i].Str_SX!=null) { Console.Write(list[i].Str_SX.ToString() + " "); } else { Console.WriteLine("\t"); } if (list[i].Str_YW!=null) { Console.Write(list[i].Str_YW.ToString() + " "); } else { Console.WriteLine("\t"); } if (list[i].Str_YY!=null) { Console.WriteLine(list[i].Str_YY.ToString() + " "); } else { Console.WriteLine("\t"); } num = 0; } } private void writefile() { try { string da = DateTime.Now.Year.ToString(); // 文件流 FileStream file = new FileStream("Students.txt", FileMode.Create, FileAccess.Write); //写入流 StreamWriter strwriter = new StreamWriter(file); strwriter.BaseStream.Seek(0, SeekOrigin.Begin); strwriter.WriteLine("学号 数学 语文 英语"); strwriter.WriteLine("001 80 90 100"); strwriter.WriteLine("002 90 90 100"); strwriter.WriteLine("003 70 80 "); strwriter.WriteLine("004 80 90 90"); strwriter.WriteLine("005 95 95 90"); strwriter.Close(); file.Close(); } catch (Exception) { throw; } //Console.ReadKey(); } private void readerfile() { try { List<object> obj = new List<object>(); FileStream finle = new FileStream("Students.txt", FileMode.Open); byte[] by = new byte[500]; char[] ch = new char[500]; finle.Seek(0, SeekOrigin.Begin); finle.Read(by, 0, 500); Decoder d = Encoding.UTF8.GetDecoder(); d.GetChars(by, 0, by.Length, ch, 0); Console.WriteLine(ch); finle.Close(); string[] str = new string[500]; List<string> List = new List<string>(); for (int i = 0; i < ch.Length; i++) { //if (ch[i].ToString()!=null) //{ // List.Add(ch[i].ToString()); // for (int j = 0; j < ch.Length; j++) // { // str[j] = List[i].ToString(); // } //} if (ch[i].ToString() == "\t" || ch[i].ToString() == " " || ch[i].ToString() == "\n" || ch[i].ToString() == "\r" || ch[i].ToString() == "\r") { } else { str[i] = ch[i].ToString(); } } //students _strtduents ; //string[] _str = null; ////构建表结构 //for (int i = 0; i < str.Length; i++) //{ // _str = new string[5]; // _strtduents = new students(); // _strtduents.Str_id = ""; // _strtduents.Str_SX = ""; // _strtduents.Str_YW = ""; // _strtduents.Str_YY = ""; //} // Console.ReadKey(); //while ((str = reader.ReadLine()) != null) //{ // Console.WriteLine(str); // //_strtduents=new students(); // //_strtduents.Str_id = ""; // //_strtduents.Str_SX = ""; // //_strtduents.Str_YW = ""; // //_strtduents.Str_YY = ""; //} } catch (Exception) { throw; } // Console.ReadKey(); } public List<students> readr() { List<students> lisy = new List<students>(); students st = null; try { StreamReader reader = new StreamReader(@"E:\myCsharp\txt.txt", Encoding.UTF8); string strreader = string.Empty; strreader = reader.ReadLine(); string s = ""; //int a = 0; while ((strreader = reader.ReadLine()) != null) { string[] words = strreader.Split('\t'); string[] w=new string[4]; int a = 0; for (int i = 0; i < words.Length; i++) { if (words[i].ToString().Trim().Length == 0 || words[i].ToString().Trim() ==null) { a--; } else { if (words[i].ToString()!=null) { w[a] = words[i].ToString(); } else { w[a] = ""; } } a++; } st = new students(); if (w[0].ToString()!=null) { st.Str_id = w[0].ToString(); } if (w[1].ToString()!=null) { st.Str_YW = w[1].ToString(); } if (w[2].ToString()!=null) { st.Str_SX = w[2].ToString(); } if (w[3]!=null ) { st.Str_YY = w[3].ToString(); } lisy.Add(st); } byte[] b1 = System.Text.Encoding.Default.GetBytes(s); } catch (Exception e) { Console.WriteLine(e.Message); } return lisy; } } public class students { private string str_id; public string Str_id { get { return str_id; } set { str_id = value; } } private string str_SX; public string Str_SX { get { return str_SX; } set { str_SX = value; } } private string str_YW; public string Str_YW { get { return str_YW; } set { str_YW = value; } } private string str_YY; public string Str_YY { get { return str_YY; } set { str_YY = value; } } }}
0 0
- IO(C#) 读写文件简单操作
- c#IO文件读写操作
- 文件读写IO操作
- IO操作之文件读写(一)
- java中最简单的文件复制,读写(IO流操作)
- JAVA IO 简单读写文件
- Python文件读写IO操作
- C++ 文件IO操作 读写
- Python中的文件IO操作(读写文件、追加文件)
- C/C++文件IO读写
- [C++]文件读写操作
- C文件读写操作
- C文件读写操作
- C文件读写操作
- C文件读写操作
- C 文件读写操作
- 【C】文件读写操作
- 文件读写(IO)
- response的outputStream输出中文的乱码问题
- 二叉树遍历的递归与非递归研究
- 三层架构之基础知识
- oracle递归函数
- iOS: 学习笔记实例, 用代码控制视图创建与切换
- IO(C#) 读写文件简单操作
- 如果通过ShellExecute打开一个连接
- PHP操作mysql函数详解
- 黑马程序员-Enum使用
- C++学习第五天
- Backup and Recovery Strategies1
- Eclipse方没有提示解决办法
- java的json时间转换为年月日
- poj 1200 (字符串hash)