- 浏览: 111821 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
wuliupo:
这个有一个BUG,当有的td设置 background-col ...
【JQuery】鼠标经过表格行变色 -
cheeruplc:
使用了以上的方式 我用一个for循环多次输出alert 循环 ...
页面跳转 -
xbm376:
谢谢分享!
Gponit和GLatLng的区别 -
baiyejianxin:
king130520 写道 MXML是FLEX中的标记语言,与 ...
FLEX -
king130520:
...
FLEX
FielStream類操作的是字節和節節數組,而stream類操作的是字符數據。字符數據易於使用,但是有些操作,比如隨機文件訪問(訪問文件中間某點的數據),就必須由FileStream對象執行。
FielStream類維護內部文件指針,該指針指向文件中進行下一次讀寫操作的位置。
FileStream只能處理原始字節(raw byte),處理原去吧字節的功能使用FileStream類可以用於處理任何數據文件。
通過讀取字節數據,FileStream對像可以用於讀取圖像和聲音。代價是FileStream類不能將數據直接讀入字符串
此指針可以修改用Seek方法,它有兩個參數:
第一個參數:規定文件指針以字節為參數的移動距離
第二個參數:規定開始計算的起始位置
byte[] byDataValue = new byte[200];
char[] charDataValue = new char[200];
/// <summary>
/// FilesStream讀取用法
/// </summary>
private void FilesStreamReadFile()
{
try
{
FileStream fsFile = new FileStream(@"d:\log.cs", FileMode.Open);
//文件指針移到文件的135個字節
fsFile.Seek(135, SeekOrigin.Begin);
//將接下來的字節讀到Array中
fsFile.Read(byDataValue, 0, 200);
}
catch (Exception e)
{
throw e;
}
//將字節轉換成字符
Decoder dc = Encoding.UTF8.GetDecoder();
//字節數組轉換成字符數組,便於顯示
dc.GetChars(byDataValue, 0, byDataValue.Length, charDataValue, 0);
}
/// <summary>
/// FilesStream寫入用法
/// </summary>
private void FileStreamWriteFile()
{
FileStream fsFile = new FileStream(@"D:\log.txt", FileMode.Create);
charDataValue="This is test string".ToCharArray();
byDataValue=new byte[charDataValue.Length];
//將字符數組轉換成字節數組
Encoder ec=Encoding.UTF8.GetEncoder();
ec.GetBytes(charDataValue,0,charDataValue.Length,byDataValue,0,true);
//將指針設定起始位置
fsFile.Seek(0,SeekOrigin.Begin);
//寫入文件
fsFile.Write(byDataValue,0,byDataValue.Length);
}
FileStream對象通常會在StreamWriter或StreamReader內使用,並使用它們的方法處理文件。
/// <summary>
/// StreamWriter寫入方法
/// </summary>
private void StreamWriterMetod()
{
try
{
FileStream fsFile = new FileStream(@"d:\log.txt",FileMode.OpenOrCreate);
StreamWriter swWriter = new StreamWriter(fsFile);
//寫入數據
swWriter.WriteLine("Hello Wrold.");
swWriter.WriteLine("It is now {0}", DateTime.Now.ToLongDateString());
swWriter.Close();
}
catch (Exception e)
{
throw e;
}
}
/// <summary>
/// StreamWriter讀取方法
/// </summary>
private void StreamReaderMetod()
{
string sLine = "";
try
{
FileStream fsFile = new FileStream(@"d:\log.txt", FileMode.Open);
StreamReader srReader = new StreamReader(fsFile);
//讀取文件(讀取大文件時,最好不要用此方法)
sLine = srReader.ReadToEnd();
txbValue.Text = sLine;
srReader.Close();
}
catch (Exception e)
{
throw e;
}
}
/// <summary>
/// StreamWriter讀取方法2
/// </summary>
private void StreamReaderMetodTwo()
{
try
{
FileStream fsFile = new FileStream(@"d:\log.txt", FileMode.Open);
/*
* 讀取數據最簡單的方法是Read()。此方法將流的下一個字符作為正整數值返回,
* 如果達到了流的結尾處,則返回-1。
*/
StreamReader srReader = new StreamReader(fsFile);
int iChar;
iChar = srReader.Read();
while (iChar != -1)
{
txbValue.Text += (Convert.ToChar(iChar));
iChar = srReader.Read();
}
srReader.Close();
}
catch (Exception e)
{
throw e;
}
}
注:FileMode枚舉成員值在文件存在與不存在時的情況
成員 |
文件存在時 |
文件不存在時 |
Append |
打開文件,流指向文件的末尾,只能與枚舉FileAcess.Write聯合使用 |
創建一個新文件。只能與枚舉FileAcess.Write聯合使用 |
Create |
刪除該文件,然後創建新文件 |
創建新文件 |
CreateNew |
拋出異常 |
創建新文件 |
Open |
打開現有文件,流指向文件開頭 |
拋出異常 |
OpenOrCreate |
打開文件,流指向文件開頭 |
創建新文件 |
Truhncate |
打開現有文件,清除其內容。流指向文件開頭,保留文件的初始創建日期。 |
拋出異常 |
发表评论
-
ASP.NET基础知识(二)
2011-06-28 15:03 1011RadioButton控件会在客户端渲染成<inpu ... -
ASP.NET基础知识(一)
2011-06-28 15:02 1198转载:http://www.cnblogs.com/fanyo ... -
QQ截图
2011-06-26 12:27 966转自:http://www.cnblogs.com/mengd ... -
泛型类型参数的约束
2011-03-25 17:10 742class MyClass<T1,T2,T3> ... -
类的索引
2011-03-23 17:14 604声明索引类似于声明属性,只有get访问器与set访问器。 ... -
抽象类
2011-03-23 16:57 594抽象类只能被用来当作其他类的基类。 不能创建抽象类的实例。 ... -
一道面试题
2011-03-23 16:32 698using System; class A { pub ... -
类和继承
2011-03-23 11:20 657public class MyBaseClass ... -
访问修饰符
2011-03-23 10:37 7001.类的访问修饰符 类的访问修饰符有两个级别:publi ... -
c#读写XML文件
2009-06-24 10:38 1841一.前言: XML是微软.N ... -
asp.net上传文件
2009-03-18 09:39 1394#region 上传文件的方法 /// <sum ... -
页面跳转
2009-03-17 10:00 958在写ASP.Net程序的时候,我们经常遇到跳转页面的问题,我们 ... -
使用RichTextBox的一点心得
2009-03-17 09:51 2782最近开发一个控件,主要是对RichTextBox进行操作,实现 ... -
使用C#玩转WORD
2009-03-16 15:37 2261我们都知道,Office是基于COM组件技术开发的,属于非托管 ... -
c# 读取word文件文本内容
2009-03-16 13:52 2856添加morcosoft word 12.0 object Li ... -
C#读取Word文档
2009-03-13 16:54 49671: 对项目添加引用,Microsoft Word 11.0 ... -
.net常用的功能和代码
2009-03-13 12:58 9781. 打开新的窗口并传送参数: 传送参数: response ...
相关推荐
这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。字符数据易于使用,但是有些操作,比如随机...
在项目开发中经常会涉及到对文件的读写,c# 提供了很多种方式来对文件...创建FileStream 对象有许多不同的方法,这里使用文件名和FileMode枚举值创建: 一、 读取文件,记得引用 System.IO 命名空间: using System;
BinaryFileReader:读取和显示任何文件(展示了FileStream类是用法) ReadWriteText:与上一个类似,不过文件得是文本文件,读取并显示内容,还可以保存文件,以Unicode格式保存任何文件。(展示了StreamReader和...
4.7 FileStream示例1:*文件的新建和拷贝(主要演示文件同步和异步操作) 4.8 FileStream示例2:*实现文件本地分段上传 5.1 简单介绍一下MemoryStream 5.2 MemoryStream和FileStream的区别 5.3 通过部分源码深入了解下...
File的一些方法可以返回FileStream和StreamWriter的对象。可以和他们配套使用。 System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。下面通过程序实例来介绍其...
7.3.2 使用方法 121 7.3.3 派生类直接访问基类成员——base 122 7.3.4 继承中的构造函数 123 7.4 多态 124 7.5 抽象 128 7.5.1 抽象类、抽象方法的声明 129 7.5.2 抽象类的使用 129 7.5.3 抽象方法的使用 130 7.6 ...
序中判断是否为数字的方法有很多种,可以使用正则表达式、int.Parse 方法和double.Parse 方法等。下面的代码 通过double.Parse 方法判断textBox1 文本框中的输入是否为数字。 double.Parse(textBox1.Text); 实例573 ...
1)Append是打开现有文件或者创建新文件,其只能和FileAccess.Write一起使用; 2)Create是如果文件不存在,则使用CreateNew,否则使用Truncate,其要求FileIOPermissionAccess.Write; 3)CreateNew创建新文件,要求...
用VS编写的FTP服务器软件,C#网络程序编程学习用。 代码: using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Net; using System.Net.Sockets; using ...
8.1.2 控件的属性、方法和事件 140 8.2 控件的分类 142 8.2.1 常用控件 143 8.2.2 容器控件 143 8.2.3 数据控件 143 8.2.4 打印控件 143 8.2.5 对话框控件 144 8.3 控件的相关操作 144 8.3.1 添加...
分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用的属性、方法、类和各种技术,...
第10天 03_List泛型集合 04_Dictionary 05泛型集合练习 06文件流 FileStream 07StreamReader和StreamWriter 02 file类 01 path类。File.ReadAllBytes 第11天 02 抽象类 Animal Cat Dog Program 02-抽象类 Animal ...
C#(WINFORM)学习 一、 C#基础 基础 类型和变量 类型和变量 类型 C# 支持两种类型:“值类型”和“引用类型”。值类型包括简单类型(如 char、int 和 float 等)、枚举类型和结构类型。引用类型包括类 (Class)类 ...
首先,ArrayList集合和List都是非静态类,使用时都必须先实列化。 ArrayList类似一个数组,但比数组优越的是它的长度大小可变,并且可以存放不同类型的变量,包括值类型和引用类型。 常用方法如下: 1、Add():...
本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题的思路和方法,更总结出项目开发中不可或缺的技术点及思想。读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集...
本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题的思路和方法,更总结出项目开发中不可或缺的技术点及思想。读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集...