1,Java中操作方法:
import java.io.*; public class FileInputStreamTest { public static void main(String[] args) throws IOException { //建立位元組輸入資料流 FileInputStream fis = new FileInputStream("FileInputStreamTest.java"); //建立一個長度為1024的竹筒 byte[] bbuf = new byte[1024]; //用於儲存實際讀取的位元組數 int hasRead = 0; //使用迴圈來重複“取水”的過程 while((hasRead = fis.read(bbuf))>0) { //取出"竹筒"中(位元組),將位元組數組轉成字串輸入 System.out.println(new String(bbuf,0,hasRead)); } fis.close(); } }
import java.io.*; public class FileReaderTest { public static void main(String[] args) throws IOException { FileReader fr = null; try { //建立字元輸入資料流 fr = new FileReader("FileReaderTest.java"); //建立一個長度為32的"竹筒" char[] cbuf = new char[32]; //用於儲存實際讀取的字元數 int hasRead = 0; //使用迴圈來重複“取水”的過程 while((hasRead = fr.read(cbuf))>0) { //取出"竹筒"中(位元組),將位元組數組轉成字串輸入 System.out.println(new String(cbuf,0,hasRead)); } } catch (IOException ioe) { ioe.printStackTrace(); } finally { //關閉檔案輸入資料流 if(fr != null) { fr.close(); } } } }
2,C#中操作方法:
/* - - - - - - - - - - - - - - - - - - - - - - - - * Stream 和 byte[] 之間的轉換 * - - - - - - - - - - - - - - - - - - - - - - - */ /// <summary> /// 將 Stream 轉成 byte[] /// </summary> public byte[] StreamToBytes(Stream stream) { byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); // 設定當前流的位置為流的開始 stream.Seek(0, SeekOrigin.Begin); return bytes; } /// <summary> /// 將 byte[] 轉成 Stream /// </summary> public Stream BytesToStream(byte[] bytes) { Stream stream = new MemoryStream(bytes); return stream; } /* - - - - - - - - - - - - - - - - - - - - - - - - * Stream 和 檔案之間的轉換 * - - - - - - - - - - - - - - - - - - - - - - - */ /// <summary> /// 將 Stream 寫入檔案 /// </summary> public void StreamToFile(Stream stream,string fileName) { // 把 Stream 轉換成 byte[] byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); // 設定當前流的位置為流的開始 stream.Seek(0, SeekOrigin.Begin); // 把 byte[] 寫入檔案 FileStream fs = new FileStream(fileName, FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); bw.Write(bytes); bw.Close(); fs.Close(); } /// <summary> /// 從檔案讀取 Stream /// </summary> public Stream FileToStream(string fileName) { // 開啟檔案 FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read); // 讀取檔案的 byte[] byte[] bytes = new byte[fileStream.Length]; fileStream.Read(bytes, 0, bytes.Length); fileStream.Close(); // 把 byte[] 轉換成 Stream Stream stream = new MemoryStream(bytes); return stream; }
以上就是小編為大家帶來的Java和C#輸入輸出資料流的方法(詳解)全部內容了,希望大家多多支援雲棲社區~