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处理数据库服务器中文乱码问题,但是此处还是准备简单做下 ...
随机推荐
- django internal search
最近改进了项目中的站内搜索的功能,增加了全文索引,提升了搜索速度.因为项目框架是django,所以采用django+haystack+pyelasticsearch+elasticsearch的方式实 ...
- http://blog.csdn.net/maosidiaoxian/article/details/40109337
http://blog.csdn.net/maosidiaoxian/article/details/40109337
- iOS:集成ijkplayer视频直播
介绍: ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集 ...
- python深复制和浅复制
深复制:一个更改后不会影响到其他的变量,另一个变量B赋值给变量A时,虽然A和B的内存空间仍然相同,但当A的值发生变化时,会重新给A分配空间,A和B的地址变得不再相同 浅复制:改变一个就会引起另一个的改 ...
- django工作原理
- UCenter uc_user_synlogin同步登陆返回值为空(NULL)的解决办法 及 ucenter原理
第一种方法最近刚刚接触UCenter,很多问题不是很理解,只是在摸索着.尝试着做,就在刚才有解决了一个问题,虽然不知道解决问题的具体原理,但是还是实现了同步登陆.首先我是在本地测试的,也就是local ...
- 【关于HBITMAP, DC, MEM DC, Clipboard】将HBITMAP拷贝到Clipboard(Windows Clipboard & OLE Clipboard)
参考: Programming Windows with MFC, 2nd. Chapter 18, 19. 建议把这两章学习完(至少到OLE drag-and-drop之前要学习完)再来尝试OLE ...
- SWING
第一个图形界面应用程序.图形用户界面简称GUI(Graphical User Interface),通过GUI用户可以更好地与计算机进行交互.Swing简介Swing工具包提供了一系列丰富的GUI 组 ...
- java.net.ConnectException: Connection refused: connect
在dos命令里输入netstat 查看下serverSocket所监听的端口有没有存在.
- 详解 ASP.NET并行,异步,多线程
最近在学习.net4以上版本新特性的时候,发现在异步这方面提供了很多好玩的.以下Mark 2篇好文,温故而知新! http://www.cnblogs.com/wisdomqq/archive/201 ...