問題タブ [randomaccessfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
646 参照

java - RandomAccessFile setLength(0) null 文字の文字列をファイルに追加する

Java で作成したファイルの内容をクリアしようとしています。ファイルは PrintWriter 呼び出しによって作成されます。私はここで RandomAccessFile を使用してこれを行うことができることを読み、別の場所で、新しい PrintWriter を呼び出してすぐに閉じてファイルを空のファイルで上書きするよりも実際に使用する方が良いことを読みました。

ただし、RandomAccessFile を使用してファイルをクリアすると、null 文字の文字列がファイルに追加されているようです (または、おそらく PrintWriter でしょうか?) テキストが追加された場合にのみ発生します。

上記のコードと同等のものを実行すると、一時ファイルの内容が次のようになります。

null 文字の数は、消去された文字数 (改行文字を含む) と同じです。ファイルに新しいテキストが追加されていない場合、ファイルは完全に空白です。

注: ライターは、ファイルがクリアされた後、「サンプル テキスト」をファイルに再度書き込むことができる必要があります。clearCondition は、while ループが壊れるという意味ではありません。

編集:これらのヌル文字の原因がわかりません。私は自分が愚かであり、一時ファイルを持つ必要はなく、後でファイルに書き込まれるすべてのデータを含む一時文字列だけであることに気付きました。文字列は = ""; で簡単にリセットできます。すべての提案をありがとう

0 投票する
1 に答える
780 参照

vb.net - VB.net - ランダム アクセス ファイルの上書き

プログラムのこの部分は、ユーザーの詳細をランダム アクセス ファイルに追加するように設計されています。以下のサブルーチンは、これを行うように設計されています。

実際に内容を保存する分には問題ありませんが、レコードが追加されるたびにファイルが上書きされます。どうすればこれを止めることができますか?上記で何が間違っていましたか?

0 投票する
1 に答える
1618 参照

java - バイナリ ファイル内の特定のバイトを編集する - Java

Java でバイナリ ファイル内の特定のバイトを編集する方法を知りたいです。

実行前のバイナリファイルの例:

今、modifyByteArray[128] の byteArray3[128] に新しいデータを取り込みます。実行後:

ファイルに追加する次のコードのようなものがあります。

私はこのデータを持っています:
modifiedData[128]、バイナリ ファイルの特定の位置にある新しい cipherText 。

offsetPosition、特定のバイトの配列が始まる位置。

それについての解決策は?ありがとう :)

0 投票する
1 に答える
911 参照

c++ - ファイルからのデータの書き込みおよび読み取り中にデータが失われる (ランダム アクセス ファイル、C++)

まず、「hardware.dat」ファイルに以下のデータを書き込んで初期化し、リスト形式で表示します。 ここに画像の説明を入力 ここに画像の説明を入力

ただし、選択肢 2 を処理してから、何も編集または追加せずに選択肢 2 を終了すると、すべてのデータが失われます。何も変わらないことを提案します。 ここに画像の説明を入力

なぜ問題が存在するのですか?修正方法は?

ご清聴ありがとうございました。


コード :

0 投票する
2 に答える
161 参照

java - JavaでUSBフラッシュをRandomAccessFileとして開く方法

Java で USB フラッシュを RandomAccessFile として開くと、seek、length、および setLength メソッドで問題が発生します。コードの小さな例:

または別の問題があります。このコードは FileNotFoundException をスローしますが、Windows でこのパスを開いてファイルを表示できます。

この問題を解決するにはどうすればよいですか? Fat32-lib を使用して動作させるには、フラッシュ デバイスを RandomAccessFile として開く必要があります。

0 投票する
2 に答える
5912 参照

java - テキストファイルの行のバイトオフセットを取得しますか?

次のようなテキストファイルがあります

ファイル内の各行のオフセットを取得する必要があります。Javaでこれを行うにはどうすればよいですか?

いくつかの I/O ライブラリ (BufferedReader や RandomAccessFile など) を検索しましたが、これに対する満足のいく答えが見つかりません。

誰でもこれに対処する方法を提案できますか?