none
C#如何做到VB6 裡GET的效果?(for binary file) RRS feed

  • 問題

  • 下面這個是VB6的寫法…
    get可以從#1中抓出filebuffer大小的檔案做處理~~~

    'vb6
    Dim filebuffer() As Byte FileSize = FileLen( "c:\123.jpg" ) ReDim filebuffer(FileSize - 1) Open "c:\123.jpg" For Binary As #1 Get #1 , filebuffer close #1
    但我現在用StreamReader確不知如何去做到只取出filebuffer的效果呢@@
    不知有沒有大大能指點一下要如何處理這個狀況~~~?
    2009年10月8日 上午 11:30

解答

  • 試試
    FileStream stream = new FileStream("c:\\123.jpg", FileMode.Open);
    byte[] ary = new byte[stream.Length];
    stream.Read(ary, 0, ary.Length);
    2009年10月8日 下午 12:02

所有回覆

  • Hi!
    可以透過以下方式

                FileInfo fi = new FileInfo("C:\\123.jpg");
                MessageBox.Show(fi.Length.ToString());

    宣告陣列大小為 fi.Length 即可

                FileInfo fi = new FileInfo("C:\\123.jpg");
                Byte[] filebuffer = new Byte[fi.Length];




    .NET菜鳥自救會 http://www.dotblogs.com.tw/chou/
    2009年10月8日 上午 11:40
    版主
  • 試試
    FileStream stream = new FileStream("c:\\123.jpg", FileMode.Open);
    byte[] ary = new byte[stream.Length];
    stream.Read(ary, 0, ary.Length);
    2009年10月8日 下午 12:02
  • 試試
    byte[] filebuffer = File.ReadAllBytes("c:\123.jpg");
    即可

    StreamReader使用來處理文字的
    如要處理binary請用FileStream

    C#學習者,修練中,ACM解題魂 - http://kgame-blog.spaces.live.com/
    2009年10月8日 下午 12:56