11

さて、いくつかの値と文字列をテキスト ファイルに書き込もうとしています。
ただし、このテキスト ファイルには 2 バイトが含まれている必要があります

これらは、他の値の書き込みが終了した後にテキスト ファイルに挿入する 2 バイトです。

六角

この方法を試しましたが、バイトを書き込む方法がわかりません

using (StreamWriter sw = new StreamWriter(outputFilePath, false, Encoding.UTF8))

必要な文字列をテキスト ファイルに書き込んだ後、それらをテキスト ファイルに書き込む方法がわかりません。

4

6 に答える 6

14

あなたの質問から正しく思い出せば。ファイルに文字列を書き込んでからバイトを書きたいですか?

この例はあなたのためにそれを行います:

using (FileStream fsStream = new FileStream("Bytes.data", FileMode.Create))
using (BinaryWriter writer = new BinaryWriter(fsStream, Encoding.UTF8))
{
    // Writing the strings.
    writer.Write("The");
    writer.Write(" strings");
    writer.Write(" I");
    writer.Write(" want");
    writer.Write(".");

    // Writing your bytes afterwards.
    writer.Write(new byte[]
                 {
                     0xff,
                     0xfe
                 });
}

16 進エディタで「Bytes.data」ファイルを開くと、次のバイトが表示されます。 ここに画像の説明を入力

于 2013-10-15T21:23:37.400 に答える
4

私の理解が正しければ、テキスト ファイルにいくつかの文字列を書き込もうとしているのですが、このファイルに 2 バイトを追加したいと考えています。

File.WriteAllBytes を使用してみませんか?

を使用して文字列をバイト配列に変換します

byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(str); // If your using UTF8

追加の 2 バイトを使用して、元のbyteArrayから新しいバイト配列を作成します。

そして、次を使用してそれらをファイルに書き込みます。

File.WriteAllBytes("MyFile.dat", newByteArray)
于 2013-10-15T21:23:02.190 に答える
0

StreamWriter.Write(char)16 ビット値を書き込むがあります。char val = '\xFFFE'のような16進値で変数を設定し、それをに渡すことができるはずですWriteFileStreamまた、すべての書き込みメソッドがバイト単位で動作する場所を使用することもできます。具体的にはWriteByte(byte)メソッドがあります。MSDNのドキュメントには、UTF8 テキストを出力する例が示されています。

于 2013-10-15T21:15:21.603 に答える
-1

文字列を保存した後、たとえば File.WriteAllBytes または BinaryWriter を使用してこれらのバイトを書き込むだけ です。

于 2013-10-15T21:11:52.837 に答える