.net实现文件读写的几种常用方法

文件的读写是.net中常用的功能,本文即以实例形式展示.net实现文件读写的几种常用方法,供大家参考之用。具体如下:

在.net中有很多有用的类库来读写硬盘上的文件,一般比较常用的有:

File:

1.什么时候使用:当读写件大小不大,同时可以一次性进行读写操作的时候使用
2.不同的方式可以读写文件类型不一样。

ReadAllBytes()  WriteAllByte():可以读写任意类型的文件 (里面封装的是FileStream)
ReadAllLines()  ReadAllText():(里面封装是StreamWriter,StreamReader),只能读写文本类型文件

FileStream:

1.当读写大文件的时候使用,它可以自定义读写的数组大小
2.一个流只能做一个事情:如果需要读和写那么就需要创建两个流
3.读取:将数据读取到数组  写入是将数组的数据再写入到文件(类型转换)

下面展示一个使用FileStream类的读写一部电影示例代码:

//读取
  using (FileStream fsRead = new FileStream(@"F:\C#.avi", FileMode.Open))
  {
 using (FileStream fsWrite = new FileStream(@"d:\C#学习.avi", FileMode.Create))
 {
   //自定义数组的长度
   byte[] bytes = new byte[1024];
   //当没有读取到文件的末尾的时候就需要循环读取
   while (fsRead.Position < fsRead.Length)
   {
 //读取的时候position属性会自动变化,记住当前读取到的位置,以字节为单位
 //count可以获取当前具体读取到的字节数
 int count = fsRead.Read(bytes, 0, bytes.Length);
 if (count == 0)
 {
   break;
 }
 //写入
 fsWrite.Write(bytes, 0, count); //只需要写入读取到的字节数就可以了
   }
 }
 MessageBox.Show("ok");
  }

补充:

StreamReader/StreamWrite:

1.只能对文本文件进行读写操作
2.它可以按行进行读取和写入

(0)

相关推荐

  • c#获取光标在屏幕中位置的简单实例

    需要调用win32api,winform.wpf通用 代码如下: 复制代码 代码如下: [DllImport("user32.dll")]public static extern bool GetCursorPos(out POINT lpPoint); [StructLayout(LayoutKind.Sequential)]public struct POINT{    public int X;    public int Y;    public POINT(int x, in

  • C# Form自定义光标的简单实现

    下面是完整的例子,可以通过命令行编译即可看到效果. 复制代码 代码如下: using System;using System.Drawing;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Reflection; namespace ColorCursor{ /// <summary> /// 本例子的作用: 在.NET中实现自定义光标. /// </summary>    p

  • Asp.net中将Word文件转换成HTML的方法

    本文所述为一个Asp.net实现将Word转换为HTML的功能,其关键代码如下: //存放word文件的完整路径 string wordPath = Server.MapPath("/word/test.doc"); //存放html文件的完整路径 string htmlPath = Server.MapPath("/html/test.html"); //上传word文件, 由于只是做示例,在这里不多做文件类型.大小.格式以及是否存在的判断 FileUpload1

  • ASP.NET自动为URL加上超链接的代码

    作为一个程序员,在完成设计后还要根据程序的情况以及用户的反映不断对程序进行改进,这样才能不断地完善自己的作品.笔者在制作完软件商务网的论坛后,发现人们总喜欢在帖子中加上各种有用的URL链接或Email地址.而笔者当初设计时没有考虑到这一点,使得这些URL链接或Email地址只能以文字的形式而并不是以超链接的形式显示,其它浏览帖子的人还必须把这些URL链接拷贝到浏览器中或把Email地址拷贝到Outlook中才能转到相应的链接地址或发送电子邮件到相应的Email地址. 发现这个问题后,笔者即着手进

  • .net实现序列化与反序列化实例解析

    序列化与反序列化是.net程序设计中常见的应用,本文即以实例展示了.net实现序列化与反序列化的方法.具体如下: 一般来说,.net中的序列化其实就是将一个对象的所有相关的数据保存为一个二进制文件(注意:是一个对象) 而且与这个对象相关的所有类型都必须是可序列化的所以要在相关类中加上 [Serializable]特性 对象类型包括:对象本身包含的类型,父类 拥有需要的对象之后: 1.将对象转换为二进制数据 使用专门的对像进行转换 BinaryFormatter 2.将二进制数据写入到文件 Fil

  • js切换光标示例代码

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>js切换光标<

  • .NET中实现彩色光标、动画光标及自定义光标的方法

    本文所述实例主要完成dotNET中实现彩色光标.动画光标及自定义光标的功能.以下是完整的程序实例,可以通过命令行编译可看到运行效果. Test.cs页面代码如下: using System; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Reflection; namespace ColorCursor { /// <summary> //

  • Windows窗体的.Net框架绘图技术实现方法

    本文实例讲述了Windows窗体的.Net框架绘图技术实现方法,非常实用,具体内容如下: 一般来说,当编写一个典型的Windows 窗体程序时,窗体和控件的绘制.效果等操作是不需要特别加以考虑的.这是为什么呢?因为通过使用 .Net 框架,开发人员可以拖动一系列的控件到窗体上,并书写一些简单的与事件相关联的代码然后在IDE中按F5,一个完完全全的窗体程序就诞生了!所有控件都将自己绘制自己,窗体或者控件的大小和缩放都调整自如.在这里经常会用到的,且需要引起一点注意的就是控件效果.游戏,自定义图表控

  • js/html光标定位的实现代码

    复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author&q

  • C语言游戏必备:光标定位与颜色设置的实现方法

    喜欢编写游戏的朋友们,你们有福了,这个资料足以让你玩转WINDOWS和Linux下的光标定位以及颜色,enjoy it. 一.WINDOWS:1.光标定位函数: 复制代码 代码如下: #include <windows.h>#include <conio.h>/****** 光标移到指定位置 ********************************/void gotoxy(HANDLE hOut, int x, int y){      COORD pos;      po

  • asp.net访问网络路径方法(模拟用户登录)

    核心代码: public class IdentityScope : IDisposable { // obtains user token [DllImport("advapi32.dll", SetLastError = true)] static extern bool LogonUser(string pszUsername, string pszDomain, string pszPassword,int dwLogonType, int dwLogonProvider, r

随机推荐