文件和注册表

 

文件和注册表

1. 管理文件系统

System.MarshalByRefObject

FileSystemInfo— 表示任何文件系统对象的基类

FileInfoFile— 表示文件系统上的文件

DirectoryInfoDirectory— 表示文件系统上的文件夹

Path— 这个类的静态成员可以用于处理路径名

DriverInfo— 指定驱动器的信息

1.1 表示文件和文件夹的 .NET

   DirectoryFile :只包含静态方法, Directory 表示文件夹, File 表示文件

   DirectoryInfoFileInfo :和 DirectoryFile 有大致相同的方法,不过他们的成员的实例的 .

 

部分属性:

DirectoryName ( 仅用于 FileInfo) :包含文件夹的完整路径名

Parent (仅用于 DirectoryInfo ):指定子目录的父目录

Length (仅用于 FileInfo ):返回文件的大小

 

部分方法:

GetDirectories () :(仅适用于 DirectoryInfo )返回 DirectoryInfo 对象数组,表示该文件夹包含的所有文件夹

GetFiles () :仅适用于 DirectoryInfo )返回 FileInfo 对象数组,表示该文件夹包含的所有文件

 

1.2Path

常用方法: Path.Combline(@“C:/”,”TT.txt”) 用于处理路径,因为不同操作系统的路径表现形式系不同的

 

2 移动、复制和删除文件

1.文件夹只可以在同一根路径移动,即不可在不同的盘符移动文件夹.

2.文件夹没有复制方法,只有文件才有复制方法,所以要复制文件夹,要逐一复制文件夹下的文件.

3.f.CopyTo(@"F:/b/"+f.Name, true);如果文件夹F:/b不存在,则提示错误:未能找到路径“F:/b/ss.torrent”的一部分。

 

3. 读写文件

3.1 读取文件

String s=File.ReadAll(string path,Encoding);

3.2 写入文件

File.WriteAll(string fromPath,string toPath)

注意:该方法会创建一个新文件,把内容复制。如存在相同文件,则会完全覆盖 .

 

4.

System.IO.MemoryStream: 读写内存

System.Net.Sockets.NetworkStream: 处理网络数据

System.IO.Stream: 一般的流类,读写管道的流

 

文件读写常用的类:

FileStream :在二进制文件中读写二进制数据,也可以读写任何文件。

StreamReaderSteramWriter :专门用于读写文本文件

 

BinaryReader BinaryWriter :提供其他流对象的包装,把他们放在流和代码之间,进行额外的格式化。????

 

4.1 缓存的流

 

BufferStream :??

 

4.2 读写二进制文件

1.FileStream 类:

FileSteam fs=new FileSteam(string path,FileMode,FileAccess,FileShare)

其中第三、第四个参数默认为 ReadWriteRead

用完后: fs.Close()


Int NextByte=fs.ReadByte();// 读取一个字节,把结果返回 0-255 的一个整数,如果到达该流的末尾,返回 -1.

 

Int ByteRead=fs.ReadByte(ByeArray,0,count)// 把一定数量的字节读入到 byte 数组 ByteArray. 如果 ByteRead=0 代表到达该流的末尾 .


 int bufferLen=4096;

byte[] buffer=new byte[bufferLen];

int count=0;

while((count=fs.Read(buffer,0,4096))>0)  //Read方法把流的内容写进buffer,每次写进4096字节,该方法返回写进buffer的字节  数,如果到达流的末尾,则返回零

{

 

       targetStream.Write(buffer,0,count);//把buffer的内容写进流,每次写入count字节,该方法返回空值

}

targetStream.Close();

fs.Close();

 

4.3 读写文本文件

StreamWriterStreamReader: 包含了文本文件换行符的处理,如用 FileStream 则要自己处理。

 

StreamReader

StreamReader sr=new StreamReaderstring path,Encoding

 

FileInfo myFile=new FileInfo(string path);

StreamReader sr=myFile.OpenText();

部分方法:

ReadLine ():读取一行

ReadToEnd(): 读取剩余的行

Read ():读取一个字符

ReadByteArray 【】 array ,偏移量,长度) : 把一定的字节读入 array

 

StreamWriter

StreamWriter sw=new StreamWriter(string path,bool (是否用追加的方式写入文件), Encding (编码方式) )

Sw.WriteLint(string s);// 把字符窜写入流

 

FileStream fs=new FileStream(@“C:/DD.txt”,FileMode,FileAccess,FileShare);

StreamWriter sw=new StreamWriter(fs);

 

方法:

Write ():读入一行字符窜 一个字符 字符数组或者一部分

 

4. 读取驱动器信息

  DriveInfo

 

5. 文件的安全性

Using System.Security.AccessControl

5.1 从文件读取 ACL

FileSteram  fs=new FileSream(….);// 实例化流

FileSecurity fileSec=fs.GertAccessControl();

Foreach(FileSystemAccessRule fileRule in fileSec.GetAccessRule(……….))

{

 

}

52 从目录读取 ACL

DirectoryInfo myDir=new DirectoryInfo(string path);

DirectorySecurity dirSec= myDir.GertAccessControl();

Foreach(FileSystemAccessRule fileRule in fileSec.GetAccessRule(……….))

{

 

}

5.3 添加和删除文件中的 ACL

1. 实例化 FileSystemAccessRule

2.FileSecurity.AddAccessRuleFileSystemAccessRule rule

3.File.SetAccessControl( 文件路径名, FileSecurity fs)

 

删除文件中的 ACL

FileSecurity.RemoveAccessRuleFileSystemAccessRule rule

 

6. 读写注册表

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值