File类跟各类操作流介绍

File类和各种类型流操作

(1.File类是一个静态类,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开.File类方法的惨输很多时候是路径path.主要提供和文件有关的各种操作.在使用的时候需要 引用System.IQ命名空间.
(2.FileStream文件流只能处理原始字节(raw byte).FileStream类可以用于任何数据文件,而不仅仅是文本文件.FileStream对象可以用于读取诸如图像和声音的文件,FileStream读取出来的是字节数组,然后用个编码将字节数组转换成字符串
(3.区别:File是一个文件的类,对文件进行操作的;FileStream文件流对txt,xml等内容的时候需要使用的一个工具,比喻:file是笔记本,需要FileStream这个笔才能写

1.File常用方法

  File.Open("路径",访问权限);
    File.Create("路径及文件名");
    File.Copy("要复制的文件","赋值新文件的路径和名称,不写路径会保存到软件目录下",Bool是否允许覆盖原文件)
    File.Delete("要删除的文件路径");
    File.Exists("判断指定路径是否存在");
    File.Move("需要移动的文件名及路径","新文件的文件名及路径");
    File.Replace("需要移动和替换的文件","被替换的文件","被替换文件的备份");
    File.AppendAllText("需要添加内容的文件路径(若无该文件就创建新文件)","需要添加的内容"); 
File.ReadAllText("要打开并读取的文件名及路径",Encoding字符编码);

2.FileStream文件流

    FileStream类通常用来读写磁盘文件.常用于向磁盘存储或读取配置文件

(1) 读取:

FileStream 名字=new FileStream(文件路径,FileModel确定你是要打开还是创建文件,FileAccess确定文件的访问方式 只读?);

(2)也可使用另一种方式实例化文件流:

 FileStream 名字=new File(文件路径,FileModel确定你是要打开还是创建文件,FileAccess确定文件的访问方式 只读?);
byte[] 数组名字=new byte[大小];
名字.Read(数组名字,从哪开始,读取长度);
名字.Close();关闭流
string 变量名=Encoding.编码.GetString(数组名);

(3)写入文件:

ileStream 名字=new FileStream(文件路径,FileModel确定你是要打开还是创建文件,FileAccess确定文件的访问方式 只读?);

(4)也可使用另一种方式实例化文件流:

 FileStream 名字=new File(文件路径,FileModel确定你是要打开还是创建文件,FileAccess确定文件的访问方式 只读?);
  byte[] 数组名字=Encoding.编码.GetBytes(字符串);
    名字.Write(数组名,从哪开始,长度);
    名字.Close();关闭流

3.NetWorkStream网络流

NetWorkStream类是专门用来处理服务器与客户端通信的流.它在网络编程中经常使用,主要是用来处理类似Socket,TcpClient和 TcpListener这些类中得到的流。

使用示例
(1)服务端:
TcpListener 名字=new TcpListener(本地IP,端口号);//服务监听
名字.Strat();//启动
Socket socklis.AcceptSocket();阻塞,直到有客户端连接
NetWorkStream 流名称=new NetWorkStream(名字);
if( 流名称.DataAvailable)如果客户端发送了消息
{
byte[] 数组名= new byte[长度]
int int变量名=流名称.Read(数组名,从哪开始,长度);
string 变量名=Encoding.编码.GetString(数组名,从哪开始,int变量名);
}

(2)客户端:
TcpClinet 名字=new TcpClinet();
名字.connect(“服务器IP”,端口);
NetWorkStream 流名称=名字.GetStream();//得到网络流
byte[] 数组名=名字.client.GetBytes(“内容”);//把需要输入的字符串转为字节
流名称.Write(数组名,从哪开始,长度)写入流
流名称.Flush();//刷新流中的数据
流名称.Close();关闭流

4.MemoryStream内存流

MemoryStream类主要用于操作内存中的数据.比如网络中传输数据时可以用流的形式,当我们收到这些流数据时就可以声明MemoryStream类来存储并且处理它们.
MemoryStream操作字符串:
    写入流
    string 变量名="内容";
    byte[] 数组名=Encoding.编码.GetBytes(变量名);将字符串转化为字节数组
   MemoryStream 流名称=new MemoryStream(数组名);初始化
    读取
        byte[]数组名=流名称.ToArray();将内存中的数据转换为字节数组
        string 变量名=Encoding.编码.GetString(数组名);将字节转换为字符串

5.StreamReader/StreamWriter

    StreamReader.StreamWriter主要用来处理流数据.他们分别提供了高效的流读取和写入功能
    读取:
    StreamReader读取
       StreamReader 名字=new StreamReader(@"读取的文件路径或流",Encoding编码);
       string 变量名=名字.ReadLine();从流中读取一行 名字.ReadToEnd()读取全部
        名字,Close();关闭流.
    写入
    StreamWrite写入
          StreamWrite名字=newStreamWrite(@"读取的文件路径或流",Encoding编码);
            名字.Write(内容);写入一行
            名字.Close();

6.TextReader/TextWriter

TextReader/TextWriter类主要用来处理流数据.他们分别提供了高效的文本流读取/写入功能.
    TextReader 读取名字=new StringReader("读取内容");初始化读取流
     TextWriter 写入名字=new StringWriter();初始化写入流
     char[]数组名=new char[长度];
      int 变量名=0;
    while((char=读取名字.Reader(数组名,从哪开始,长度))>0)吧流中数据写到字符数组中 读取流中数据
    {
    写入名,Write(数组,从哪开始,长度);从字符数组中读取流
    }
        string 变量名=写入名字.Tostring();将流中数据写到字符串中
        写入名字.Close(); 关闭流
        读取名字.Close();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值