System.IO 命名空间

System.IO 命名空间的主要目的是为了提供方便访问操作系统的文件和目录类型,另外,也提供写内存和网络流的方法。

这个命名空间提供主要两种方法处理文件和目录,能够使用FileInfo 和 DirectoryInfo 对象获得或修改文件和目录的信息;也能够用File 和 Directory 类实现相同的功能,但是两者都要求传入的文件名为静态成员。通常,如果想要获得文件系统对象的某一项信息,用 File 和 Directory 类;如果想要获得一个文件系统对象的多项信息,用 FileInfo 和 DirectoryInfo 类。两者也是互补的。例如,可以先用 Directory 类型获得目录中所有文件的信息,再用 FileInfo
对象获得文件的名字和其他信息。看下面的例子是如何做的:

open System.IO

// list all the files in the root of C:drive

let files =Directory.GetFiles(@"c:\")

// write out various information about thefile

for filepath in files do

let file = new FileInfo(filepath)

printfn "%s\t%d\t%O"

file.Name

file.Length

file.CreationTime

运行结果如下(不同的机器会有不同的结果):

addadmin.bat     95     ? 01/10/2003 02:08:10

ATTDialer.doc           297472   03/11/2003 20:12:54

AUTOEXEC.BAT    0       12/05/2003 20:21:21

avapower.gif      1056    07/07/2004 01:27:05

boot.ini          211           12/05/2003 12:58:01

CONFIG.SYS       0      12/05/2003 20:21:21

dpst.bat            17       01/10/2003 02:08:10

imagefaq.bat       21      01/10/2003 02:08:10

IO.SYS             0        12/05/2003 20:21:22

MSDOS.SYS       0        12/05/2003 20:21:22

NTDETECT.COM   47564   23/08/2001 14:00:00

Ntldr               250032   23/08/2001 14:00:00

这个命名空间还能非常方便地处理文件内容。F# 中的文件以流的形式打开和表示文件,因此,读写文件的方法可以是字节、字符或字符串。打开文件并从中读出文本,不可能更简单了,只要调用 File. ReadAllLines 方法,就返回一个数组,其中包含了文件中的所有行。下面的例子演示了如何读取以逗号分隔的文件文件,有三列数据:

open System.IO

//test.csv:

//Apples,12,25

//Oranges,12,25

//Bananas,12,25

// open a test file and print the contents

let readFile() =

let lines =File.ReadAllLines("test.csv")

let printLine (line: string) =

let items = line.Split([|‘,‘|])

printfn "%O %O %O"

items.[0]

items.[1]

items.[2]

Seq.iter printLine lines

do readFile()

执行前面的代码,处理注释中的文本文件,结果如下:

Apples 12 25

Oranges 12 25

Bananas 12 25

注意

File. ReadAllLines 方法假设文件是以UTF-8 编码的,如果文件没有使用这个文本编码,应该用方法的另一个重载,传入适当的编码对象。例如,如果文件使用的是西欧语言的 Windows-1252 编码,打开的方法应该是:

File.ReadAllLines("accents.txt"),Encoding.GetEncoding(1252))。

System.IO 命名空间,布布扣,bubuko.com

时间: 2024-10-09 05:23:51

System.IO 命名空间的相关文章

命名空间System.IO

基本介绍:System.IO 命名空间提供读写文件和数据流的类型.基本文件和目录支持的类型. 原文:http://blog.sina.com.cn/s/blog_48a45b950100erhz.html http://edu.cnzz.cn/201510/977513da.shtml 主要的类 字节流:Stream.BufferedStream.MemoryStream.UnmanagedMemoryStream.FileStream 二进制IO流:BinaryReader和BinaryWri

详解C#中System.IO.File类和System.IO.FileInfo类的用法

System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间.下面通过程序实例来介绍其主要属性和方法. (1) 文件打开方法:File.Open () 该方法的声明如下:     public static FileStream Open(string path,FileMode mode)  下面的代码打开存放在c:\tempuploads目录下名称为newFile.txt文件,并在该文件中写入hello. pri

System.Configuration 命名空间

第九章访问数据 设计计算机的目的是处理数据的,因此,很少有程序不需要访问数据,既可以是读很小的配置文件,还可以是访问一个全面的关系数据库管理系统.在这一章,我们将广泛学习在 F# 中的访问数据. 不管什么时候执行用 .NET 语言写的应用程序,.NET 运行时都会自动检查是否存在配置文件.这个文件的名字与可执行文件名相同,再加上扩展名 .config,文件必须放在与可执行文件相同的目录中.比如, MyApp.exe 的配置文件就是MyApp.exe.config.在 ASP.NET 应用程序中,

“System.IO.FileNotFoundException”类型的未经处理的异常在 mscorlib.dll 中发生

这个错误是我在打包的时候,发现的,因为我移动了我的工程的位置(从C盘移动到了D盘),看一下出错的代码: Dim strDB As String = System.Configuration.ConfigurationSettings.AppSettings("DBUser") '这里修改配置文件就可以确定是查询那个表了. '/// <summary> '/// depiction:<实例化一个DAL中的User表的类> '/// </summary>

详解System.Data 命名空间

学习了面向对象的设计思想,我们的就应该明白分层的用法.通过机房重构和牛腩的学习我们对数据库已经掌握了一定的技能,System.Data已经是我们的老朋友了,但是我们对他又了解多少呢?下面让我们认真的了解一下System.Data命名空间.System.Data这个命名空间中又有很多的命名空间,我们最常用的就是System.Data.SqlClient,这个命名空间中有很多我们总是遇到的类,比如:SqlCommand.SqlConnection.SqlDataAdapter.SqlDataRead

System.IO.File.Create 不会自动释放,一定要Dispose

这样会导致W3P进程一直占用这个文件 System.IO.File.Create(HttpContext.Current.Server.MapPath(strName)) 最好加上Dispose System.IO.File.Create(HttpContext.Current.Server.MapPath(strName)).Dispose()

System.IO 二

接着上篇的来  System.IO FileSystemWatcher    指向这个签名的方法   可以监听目录发生了什么事件 例如: static void Main(string[] args) { Console.WriteLine("请开始你的表演:"); FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = @"E:\Test"; //此目录一定需要存在,不然会引发 Arg

System.IO.Path 文件名、路径、扩展名 处理

string filePath [email protected]"E:/Randy0528/中文目录/JustTest.rar"; 更改路径字符串的扩展名.System.IO.Path.ChangeExtension(filePath, "txt");E:/Randy0528/中文目录/JustTest.txt 返回指定路径字符串的目录信息.System.IO.Path.GetDirectoryName(filePath);E:/Randy0528/中文目录 返回

system.io.file创建

在实际开发中,如果用的文件名不能确定位置.或名字.可以使用GUID类来命名函数.Guid 结构标识全局唯一标示符.其NewGuid结构可以初始化一个新历.该方法语法格式如下: public static Guid NewGuid(); return: 初始化后的实例. 源码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Dr