Java和C#輸入輸出資料流的方法(詳解)_java

來源:互聯網
上載者:User

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#輸入輸出資料流的方法(詳解)全部內容了,希望大家多多支援雲棲社區~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.