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处理数据库服务器中文乱码问题,但是此处还是准备简单做下 ...
随机推荐
- 【android学习3】解决Android界面布局添加EditView之后无法预览问题
在设计登陆界面时,拖入一个EditView之后发现界面无法预览 问题分析: 进入xml源文件里发现一个警告,提示添加inputType或者hint元素,添加后界面仍然无法预览... 仔细查看了当前使用 ...
- 使用C#发送正文带图片邮件
最近有个地方用到正文带图片的邮件发送功能,由于发送邮件调用的是web service,要求正文必须是string,而接收方要能看到图片,还不能单纯的添加一个图片地址链接,查阅了很多资料,基本上都是从头 ...
- 通过自定义属性存储数据实现输入框获得焦点与失去焦点改变value值
http://gopro.ee.cagoe.com/index.html html: <div class="name"><input value=&qu ...
- hdu1241 Oil Deposits
Oil Deposits Time Limit: 2000/1000 MS (Java/Others) ...
- Linux makefile 教程 非常详细,且易懂 (转)
概述—— 什么是makefile?或许很多Winodws的程序员都不知道这 个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makef ...
- Python-S13作业-day5-之 ATM
Python-S13作业-day5-之 ATM 需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 其实是两 ...
- extjs form.load()加载服务端数据
formPanel.getForm().load({ url: 'getApproveRefundInf?refundIdDetail=${refundIdDetail}', waitMsg: '请稍 ...
- XtraBackup2.3.3安装配置使用(innobakupex)
通过使用percona公司的xtrabackup备份还原数据库,并完成搭建mysql主从数据库. 一.XtraBackup下载安装部分. 1.安装依赖软件. [root@localhost ~]# y ...
- 堆heap和栈Stack(百科)
堆heap和栈Stack 在计算机领域,堆栈是一个不容忽视的概念,堆栈是两种数据结构.堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除.在单片机应用中,堆栈 ...
- 使用Jquery+EasyUI 进行框架项目开发案例讲解之三---角色管理源码分享
使用Jquery+EasyUI 进行框架项目开发案例讲解之三 角色管理源码分享 在上两篇文章 <使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享> ...