0

System.IO.File.Copy基本的に、Microsoftライブラリを使用せずにファイルをコピーする必要があります(FATまたはNTFSのいずれかが機能します) 。私はCOSMOS(C#オープンソースマネージドオペレーティングシステム)を使用していますが、これはWindowsではないため、File.Copy機能しません。

どんな助けでもいただければ幸いです。

4

1 に答える 1

2

System.IO 名前空間の他の部分はありますか? 最も注目すべきは、さまざまなストリーム?

そうでない場合は、何かをコピーできるようにする方法がわかりません。

しかし、読み取りと書き込みのためにファイルを開くことができると仮定すると、独自のコピー メソッドを簡単に実装できます。

private void CopyFile(string source, string dest)
{
    using (var input = new FileStream(source, FileMode.Open, FileAccess.Read))
    using (var output = new FileStream(dest, FileMode.OpenOrCreate, FileAccess.Write))
    {
        byte[] data = new byte[1024];
        int bytesRead = 0;
        do
        {
            bytesRead = input.Read(data, 0, data.Length);
            if (bytesRead > 0)
                output.Write(data, 0, data.Length);
        } while (bytesRead > 0);
    }
}

(上記のコードはテストされていません)

于 2012-06-26T14:10:05.027 に答える