C#的輸入輸出流 收藏
1. (FileStream fs1 = File.Open("c:\test.txt", FileMode.Open));
FileMode.Open 直接用FileStream類打開文件c:\test.txt"。
2. (FileStream fs2 = File.Open("c:\test.txt", FileMode.Append, FileAccess.Write));
FileMode.Append,以追加的方式打開文件"c:\test.txt",將某些內(nèi)容寫到"c:\test.txt"里。
3.(FileStream fs3 =File.Open("c:\test.txt", FileMode.Truncate, FileAccess.ReadWrite, FileShare.Read)).
FileMode.Truncate的意思是將文件打開清空里面的內(nèi)容后再對文件進行操作。
4. FileStream MyFileStream1 = new FileStream(@"c:Testing.txt", FileMode.Create);
這個方法的意思是創(chuàng)建一個可以讀寫的文件,并且可以允許其他人讀取文件的內(nèi)容。
void Close() 關(guān)閉流
void Flush() 清理流中的內(nèi)容
int ReadByte() 返回一個整數(shù)表示輸入的字節(jié)數(shù),如果沒有數(shù)據(jù)返回-1
int Read(byte[ ] buf,int offset, int numBytes) 將numBytes個字節(jié)讀入到byte[ ]的以offset為,起始位置,返回讀入成功的字節(jié)數(shù)
Long Seek(long offset,SeekOrigin origin) 將當(dāng)前位置定位到以origin為初始位置以后的offset處.
void WriteByte(byte b) 將單個字節(jié)寫入到一個輸出流.
void Write(byte[ ] buf,int offset, int numBytes) 寫入byte[ ] buf中從offset開始的numBytes個字節(jié).
bool CanRead 是否可讀
bool CanSeek 是否支持尋址
bool CanWrite 是否可以寫入數(shù)據(jù)
long Length 流的長度
long Position 流的當(dāng)前位置.
三. 流的繼承結(jié)構(gòu)
Stream是一個很大類的,在讀寫文件的時候,可以通過不同的流進行專業(yè)的數(shù)據(jù)讀寫.
The FileMode and FileAccess的幾條規(guī)則:
Value 意義
FileMode.Create 創(chuàng)建文件,之前存在同名的文件將被毀掉
FileMode.CreateNew 創(chuàng)建新文件,這個文件之前不存在
FileMode.Open 打開已經(jīng)存在的文件
FileMode.OpenOrCreate 打開文件如果存在,否則創(chuàng)建新文件
FileMode.Truncate 打開以存在的文件,將它的內(nèi)容清除掉
FileMode.Append 以追加的形式將數(shù)據(jù)寫入到文件的最后
如果在打開文件的時候想限制文件訪問權(quán)限,那么可以做如下的構(gòu)造方法:
FileStream(string filename, FileMode mode, FileAccess access);
Access可以是以下當(dāng)中的一個值:
FileAccess.Read/
FileStreamfs=new FileStream(“c:\tab.txt”,FileMode.OpenOrCreate,FileAccess.Read);
C#中結(jié)合Post發(fā)送的Stream與Byte Array的操作似乎資料很少.下面是我這幾天的研究成果.功能是將同文件夾下的a.jpg復(fù)制生成b.jpg.代碼如下:
byteArray.aspx.cs
using System;
using System.IO;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Net;
namespace bArray {