C# 文件读取(一)
1. 读写文件的步骤:
创建一个文件流 -- 创建相应的读写器 -- 执行读写操作 -- 关闭读写器 -- 关闭文件流
创建一个文件流: FileStream objfs = new FileStream(文件的路径 , 文件打开模式);
文件的打开模式: FileMode 是一个枚举值,此处略去
创建文件的同事也可以设置权限
创建读写器: StreamReader objsr = new StreamReader(objfs, Encoding.UTF8);
StreamWriter objsw = new StreamWriter(objfs, Encoding.UTF8);
Enoding 是为了解决乱码问题
读写操作: 读: objsr.ReadToEnd();
写:objsw.Write(content);
关闭读写器: objsr.Close();
objsw.Close();
关闭文件流: objfs.Close();
2. File类
提供操作文件的各种方法。
|
方法 |
说明 |
|
bool Exists(string path) |
用于检查指定文件是否存在,该方法返回一个布尔值 |
|
void Copy(string sourceFileName, |
将指定路径的源文件中的内容复制到目标文件中,如果目标文件不存在,则在指定路径中新建一个文件 |
|
void Move (string |
将指定文件移动到一个新的路径 |
|
void |
删除指定的文件,如果指定的文件不存在,则不引发异常 |
3. Directory
类提供对文件夹的移动、删除等操作
|
方法 |
说明 |
|
bool |
用于检查指定文件夹在磁盘上是否存在 |
|
void |
用于将文件或目录及其内容移到新位置 |
|
void Delete(string path, |
删除指定目录,如果bool指定true,则删除子目录中的所有目录内容 |
|
void |
从指定路径删除空目录 |
3. FileInfo类
由于File类的静态方法在使用时都会进行安全检查,所以如果想要多次使用某个文件对象,可以考虑使用FileInfo类相应的实例方法,因为并不总是需要安全检查
|
属性/方法 |
说明 |
|
Exists |
用于检查指定文件是否存在,返回一个布尔值 |
|
Extension |
获取表示文件扩展名部分的字符串 |
|
Name |
获取文件名 |
|
FullName |
获取目录或文件的完整目录 |
|
FileInfo CopyTo(string) |
将现有文件复制到新文件,不允许覆盖现有文件 |
|
void Delete() |
永久删除文件 |
|
void |
将指定文件移到新位置 |
4. DirectoryInfo类
如果打算多次重用某个目录对象,可以考虑使用DirectoryInfo类的实例方法
|
方法 |
说明 |
|
DirectoryInfo[ ] GetDirectories() |
返回当前目录的子目录对象数组 |
|
FileInfo[ ] GetFiles() |
返回当前目录下文件列表(FileInfo对象数组) |
备注:文件(file)与流(stream)
文件,是在各种媒介上永久存储的数据的有序集合,它是一种进行数据读写操作的基本对象。
流,从概念上讲,非常类似于单独的磁盘文件,它也是进行数据读取操作的基本对象,流为我们提供了连续的字节流存储空间。
File类,是一个静态类,主要是来提供一些函数库用的。
静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件。
C# 文件读取(一)的更多相关文章
- java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
- php xml 文件读取 XMLReader
php xml 文件读取 <?php /** $xmlString = '<xml> <persons count="10"> <person ...
- 1-2 nodejs小节 文件读取
1.表达式 在命令行输入 node回车后,可以在后边输入相应的表达式,进行运算操作 2.阻塞文件读取 var data=fs.readFileSync('input.txt', 'utf-8') ...
- 详解Js中文件读取机制
前言,文件读取是提高应用体验度的必须接口,应用场景中需求很频繁. Js处理文件读取,由于处于安全方面的考虑,在2000年以前,都是以“<input type="file"&g ...
- C# 文件操作 把文件读取到字节数组
string zipfile = "c:\\a.zip"; //方法1 FileStream fs = new FileStream(zipfile, FileMode.Open) ...
- H5学习系列之文件读取API--本文转自http://blog.csdn.net/jackfrued/article/details/8967667
HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简 ...
- 应用服务器Glassfish任意文件读取漏洞
catalogue . 前言和技术背景 . Glassfish安装配置 . 漏洞利用 . 漏洞缓解(修复) 1. 前言和技术背景 0x1: GlassFish是什么 GlassFish 是用于构建 J ...
- golang 文件读取
Golang 的文件读取方法很多,刚上手时不知道怎么选择,所以贴在此处便后速查. 一次性读取 小文件推荐一次性读取,这样程序更简单,而且速度最快. 复制代码 代码如下: func ReadAll(fi ...
- Python编码/文件读取/多线程
Python编码/文件读取/多线程 个人笔记~~记录才有成长 编码/文件读取/多线程 编码 常用的一般是gbk.utf-8,而在python中字符串一般是用Unicode来操作,这样才能按照单个字 ...
- [Python] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题
最近研究搜索引擎.知识图谱和Python爬虫比较多,中文乱码问题再次浮现于眼前.虽然市面上讲述中文编码问题的文章数不胜数,同时以前我也讲述过PHP处理数据库服务器中文乱码问题,但是此处还是准备简单做下 ...
随机推荐
- Bundle文件的创建和使用(二)
1.概念: An NSBundle object represents a location in the file system that groups code and resources tha ...
- 自动换行的矢量文字(android demo)
由于矢量字体的宽度不同,自测android字体,发现当中文字体大小为100像素时,字母s等 宽度大概在52,字母l等 宽度大概在26,这样自动换行就不可以按字符的个数计算截取每行显示的字串. 直接上代 ...
- Oracle横向纵向汇总
Oracle横向纵向汇总 有一张表test 如下, (NO 学生编号 ,cj 成绩) NO name KM CJ 001 张三 语文 80 001 张三 数学 86 001 张三 英语 75 0 ...
- 关于讯飞 使用android SDK出现21001错误码的分析
21001,没有安装语音组件1.有没有使用SpeechUtility.createUtility()设置appid2.有没有将libmsc.so放到工程中,jar包有Msc.jar.Sunflower ...
- c#中匿名函数lamb表达式
c#中匿名函数lamb表达式 实例一:(其实,这样都是些语法糖) using System; using System.Collections.Generic; using System.Linq; ...
- Maven集成Sonar
Sonar对maven提供了简单可配的支持,要做的事情很简单--在maven/conf下settings.xml <profiles></profiles>标签之间添加如下内容 ...
- 七参数计算正确性验证——Coord软件使用
我计算了一套七参数,但是别人说计算结果不正确,我只好验证一下. 最后知道为啥算错了,原来是尺度K的单位问题,我计算七参数的单位是PPM,而下面软件的单位是m所以需要除以1000000进行计算. 下面是 ...
- fakeLoader.js-针对WebApp中的 “假”预加载
在做移动端网站的时候,前端有时候需要一些过渡效果,当然我们肯定首先想到肯定是用css3做一个过渡动画,nice,那我给大家一个好用的jQuery插件吧,让你三行代码实现这种过渡动画效果. 1.由于该插 ...
- SWIFT Button的基本用法
import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: ...
- Android Log图文详解
android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() .根据首字母对应VERBOSE,DEBUG,INFO, WA ...