1. 程式人生 > >C#.net 用 FileStream讀寫檔案

C#.net 用 FileStream讀寫檔案

using System;
using System.IO;
using System.Text;

namespace FileTest
{
 class FileTest
 {
  static void Main(string[] args)
  {
   byte[] byDataIn = new byte[100];
   byte[] byDataOut = new byte[100];
   char[] charData = new char[100];

   try
   {
    FileStream sourceFile = new FileStream("F://source.txt", FileMode.Open, FileAccess.Read);
    sourceFile.Seek(5, SeekOrigin.Begin);
    sourceFile.Read(byDataIn, 0, 100); //讀取檔案

    Decoder de = Encoding.UTF8.GetDecoder();
    de.GetChars(byDataIn, 0, byDataIn.Length, charData, 0); //解碼,將byte轉換成char
    sourceFile.Close();
   }
   catch (IOException e)
   {
    Console.WriteLine(e);
    Console.ReadLine();
    return;
   }

   try
   {
    FileStream targetFile = new FileStream("F://target.txt", FileMode.Open, FileAccess.Write);
    targetFile.Seek(0, SeekOrigin.End);

    Encoder en = Encoding.UTF8.GetEncoder();
    en.GetBytes(charData, 0, charData.Length, byDataOut, 0, true); //編碼,將char轉換成byte

    targetFile.Write(byDataOut, 0, byDataOut.Length); //寫入檔案
    targetFile.Close(); //一定要關閉,否則不能儲存
   }
   catch(IOException e)
   {
    Console.WriteLine(e);
    Console.ReadLine();
    return;
   }

   Console.WriteLine(charData);
   Console.ReadLine();

  }
 }
}