C# 文件的读写的几种方式

转载请注明出处:http://www.cnblogs.com/ntotl/p/5152727.html

使用File:

1             if (File.Exists(importPath))
2             {
3                 string readText = File.ReadAllText(importPath);  //读取的结果包含了\r\n
4                 string[] lineList1 = File.ReadAllLines(importPath);
5             }

使用StreamReader读:

 1 List<string> lineList2 = new List<string>();
 2 //ArrayList linesList2 = new ArrayList(); //
 3
 4 StreamReader sr = new StreamReader(importPath);
 5 string oneline = sr.ReadLine();  //读当前一行
 6
 7 while (!sr.EndOfStream)
 8 {
 9     lineList2.Add(sr.ReadLine());
10 }
11 sr.Close();
12
13 if (lineList2.Count > 0)
14 {
15     for (int i = 0; i < lineList2.Count; i++)
16     {
17         string line = lineList2[i].ToString();
18         string regex = ",|,|\\s+";
19         string[] split = Regex.Split(line, regex);
20     }
21 }

这里提到了ArrayList 和 List<String>,记录一下,以便学习

http://zhidao.baidu.com/link?url=WwkEzOGYRxGeU0n0n4xsp5ROJDD6cKMwKhCRC_A7hwe6WnrATRwwye6aUQ0wJthEn0q3vRq704F53usl3OfH-a

使用FilsStream写:

1             string exportPath1 = "F:\\Upload\\ReadAndWriteFile\\streamreader1.txt";
2             FileStream fs1 = new FileStream(exportPath1, FileMode.OpenOrCreate);
3             byte[] data = new UTF8Encoding().GetBytes("aaaa");
4             fs1.Write(data, 0, data.Length);
5             fs1.Flush();
6             fs1.Close();

用StreamWriter写:

 1             #region 构造数据 dt
 2             DataTable dt = new DataTable();
 3             dt.Columns.Add("player");
 4             dt.Columns.Add("race");
 5             DataRow row = null;
 6             for (int i = 0; i < 5; i++)
 7             {
 8                 row = dt.NewRow();
 9                 row["player"] = "name_" + i;
10                 row["race"] = "race_" + i;
11                 dt.Rows.Add(row);
12             }
13             #endregion
14
15             string exportPath2 = "F:\\Upload\\ReadAndWriteFile\\streamreader2.txt";
16             FileStream fs2 = new FileStream(exportPath2, FileMode.OpenOrCreate);
17             StreamWriter sw2 = new StreamWriter(fs2);
18             StringBuilder sb = new StringBuilder();
19             sb.Append("选手           种族\r\n");
20             foreach (DataRow dr in dt.Rows)
21             {
22                 sb.Append(dr["player"] + "           " + dr["race"] + "\r\n");
23             }
24             sw2.Write(sb);
25             sw2.Flush();
26             sw2.Close();
27             fs2.Close();

由于本人刚毕业不久,目前主要从事ASP.NET方面的开发,所以上面的代码读取之后还处理了,是方便写入数据库,导出也是如此,可用于把数据备份到txt文件。

本人还处于学习阶段,如有理解或者代码错误,还请不吝赐教。

时间: 2024-08-07 08:28:08

C# 文件的读写的几种方式的相关文章

.net学习笔记--文件读写的几种方式

在.net中有很多有用的类库来读写硬盘上的文件 一般比较常用的有: File:1.什么时候使用:当读写件大小不大,同时可以一次性进行读写操作的时候使用         2.不同的方式可以读写文件类型不一样. ReadAllBytes()  WriteAllByte():可以读写任意类型的文件 (里面封装的是FileStream)           ReadAllLines()  ReadAllText():(里面封装是StreamWriter,StreamReader),只能读写文本类型文件

Java文件上传的几种方式

文件上传与文件上传一样重要.在Java中,要实现文件上传,可以有两种方式: 1.通过Servlet类上传 2.通过Struts框架实现上传 这两种方式的根本还是通过Servlet进行IO流的操作. 一.通过Servlet类上传 1.编写Sevlet类 package com.chanshuyi.upload; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.

WPF中使用文件浏览对话框的几种方式

原文:WPF中使用文件浏览对话框的几种方式 WPF本身并没有为我们提供文件浏览的控件, 也不能直接使用Forms中的控件,而文件浏览对话框又是我们最常用的控件之一. 下面是我实现的方式 方式1: 使用win32控件OpenFileDialog ? 1 2 3 4 5 6 7 Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog(); ofd.DefaultExt = ".xml"; ofd.Fil

ios UI加载xib文件到控制器的两种方式(MS)

X-code6.3 创建xib文件 加载xib文件到控制器的两种方式(MS) // 1.第一种方式 //    NSArray * array = [[NSBundle mainBundle]loadNibNamed:@"cell" owner:nil options:nil]; //    MyTableViewCell * cell = [array firstObject]; 其中cell为新建的xib文件名 // 2.第二种方式 UINib * nib = [UINib nib

文件上传的三种方式-Java

前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践.该博客重在实践. 一.Http协议原理简介 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HT

java文件读写的两种方式

今天搞了下java文件的读写,自己也总结了一下,但是不全,只有两种方式,先直接看代码: public static void main(String[] args) throws IOException { io(); buffer(); } /** * 以流的形式读写 可以使用任何文件 特别是二进制文件 * * @author hh * @date 2014-12-11 * @throws IOException */ public static void io() throws IOExce

SpringMVC文件上传的两种方式

搞JavaWEB的应该或多或少都做过文件上传,之前也做过简单的上传,但是如下的需求也确实把我为难了一把: 1.上传需要异步, 2.需要把上传后文件的地址返回来, 3.需要进度条显示上传进度. 项目使用SpringMVC架构+easyUI,初步分析,进度条可以使用easyui自带的进度条,上传可以使用ajaxFileUpload或者ajaxForm.文件传上去,然后把路径带回来是没问题的,关键是上传进度怎么获取.最终,两种方式都实现啦. 首先,不管哪种方式,后台对文件处理都是必须的.文件处理: 1

关于文件上传的几种方式

上传之前 JavaScript 检测 1:javascript判断上传文件的大小: 在FireFox.Chrome浏览器中可以根据document.getElementById(“idoffile”).size 获取上传文件的大小(字节数),而IE浏览器中不支持该属性,只能借助标签的dynsrc属性,来间接实现获取文件的大小(但需要同意ActiveX控件的运行). var ua = window.navigator.userAgent; if (ua.indexOf("MSIE")&g

利用Selenium实现图片文件上传的两种方式介绍

在实现UI自动化测试过程中,有一类需求是实现图片上传,这种需求根据开发的实现方式,UI的实现方式也会不同. 一.直接利用Selenium实现 这种方式是最简单的一种实现方式,但是依赖于开发的实现. 当开发直接使用file类型的input实现图片文件的上传时,实例:<input type="file" name=''filename"> 我们可以直接利用Selenium提供的方法实现文件上传,但是因为依赖开发的实现,而且目前实现基本都会利用框架,所以这种实现方式有很