問題タブ [file-writing]
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.
javascript - Node.js を使用すると、ディスクへの書き込みが時間の経過とともに遅くなります
Node.js を使用して大きなファイル (500 MB) をディスクに書き込もうとしています。最初の数ファイルは数秒 (通常は 3 ~ 5 秒) で書き込まれますが、10 番目のファイルあたりから書き込みが遅くなる傾向がある (そして回復しない) ことがわかりました。
セットアップは、TCP/IP ソケットを介してファイルを受け取り、それらをディスクにパイプするサーバーで構成されます。
nc
次の方法で端末からデータを送信します。
ランニング
cat は常に同じ時間でファイルを読み取ることが示されています。Node.js スクリプトの出力パス/dev/null
も書き込みに置き換えると、常に同じタイミングで発生します。
したがって、問題は明らかにディスクへの実際の書き込みに関連しています。
最初は同時読み取りと書き込みに問題があるのではないかと考えましたが、実行しても問題は解決しません
さらに大きなファイル (2 倍、つまり 1 GB) で同じテストを実行すると、書き込みが遅くなるまでに約半分の時間がかかります。
アップデート
Node.js アプリケーションを変更して、すべてを 1つのファイルに書き込むようにしました。このファイルは何度も何度も追加されます。サーバーは次のようになります。
これで問題はなくなったので、複数のファイルを連続して書き込むことに関係しているようです。少なくとも複数のファイルを同時に書き込んでいる場所が見当たらないので(私でしょうか?)、なぜこうなったのか理由が思い浮かびません。特に の使用でsleep 5
は、OS が実際にすべてをディスクに書き込んだことを確認する必要があります。
更新 2
私は最初に Node.js 0.10.32 を使用してテストしました。0.11.13 に切り替えるとすぐに、効果が完全になくなるわけではありませんが、発生するまでに時間がかかります。元のセットアップでは、問題は約 10 サイクルで発生しました。Node.js 0.11.13 では、30 サイクルで最も早く発生しました。
この動作の原因は何ですか?
assembly - アセンブリ言語: 変更されたバイト値をファイル ポインターに書き込む
私はアセンブリ言語プログラミングに非常に慣れていません。ファイルポインターに一連のバイトを書き込む以下のコードがあります。
私が理解しているように、上記のコードは MYCODE のすべてのバイト値をファイルに書き込みます。これらのバイトをファイルに書き込むときに変更できるかどうか、つまり、ファイルポインタに書き込まれる前のバイトの単純な XOR が可能かどうかを知りたいですか? また、元の MYCODE バイト値を XOR するのではなく、ファイルに書き込む値だけを XOR する必要があります。出来ますか?
以下は私が思いついたものですが、無限ループに陥っているようで、デバッグできません。
ありがとう
java - Java で .java ファイルに書き込み、スクリプトを実行する
現在、Java で .java ファイルを作成しようとしています。サブクラス Eval を呼び出すいくつかのクラス Driver があります。
これが私の Eval クラスです(同じプロジェクトに保存されています):
そこで、同じディレクトリにクラス Auto.java を手動で作成します。スクリプトを実行し、Auto.java を確認しましたが、驚いたことに、何も書き込まれていません。
(これは、手動で作成した後に残した方法です)
何か提案をいただければ幸いです。
ありがとう!
PSさらに(上記のバグはこの質問よりも優先されますが)、どうすればこのプログラムをクラス Eval から実行できますか?
java - print() メソッドを使用してデータを直接保存する方が、文字列に保存してからファイルに書き込むよりも高速なのはなぜですか?
このシナリオを考えてみましょう: 私はファイルを読んでいて、各行を少し調整してから、データを新しいファイルに保存しています。今、私はそれを行うために2つの方法を試しました:
データを文字列に格納し、最後に次のようにターゲット ファイルに書き込みます。
/li>以下のように、while ループで PrintWriter の println() メソッドを直接使用します。
/li>
2 番目のプロセスは、1 番目のプロセスよりもはるかに高速です。さて、私の質問は、これら2つのプロセスで何が起こっているのか、実行時間によって大きく異なるのでしょうか?
ios - バイナリ情報をファイルに保存する
Swift でストリーム経由でバイナリ情報を受け取ります。情報が画像だとしましょう。今すぐ画像を保存したいです。これはどのように可能ですか?
私は次のことを試しました:
しかし、(fileStream?.write...) を書き込もうとすると、次のエラーが表示されます:「提供された引数を受け入れる 'init' のオーバーロードが見つかりませんでした
事前にご回答いただきありがとうございます。
c# - C#で複数のExcelワークシートにデータを印刷するにはどうすればよいですか
Excelを作成するためのC#アプリケーションがあります。コードを以下に示します。
問題は、Excel ファイルの 2 つのワークシートにデータを印刷する必要があることです。しかし今、私は同じワークシートに書いているようになっています。私の要件を達成するために、このコードでどのような変更を行う必要がありますか? C# で複数のワークシートにデータを印刷するにはどうすればよいですか?
上記の同じコードで、特定のワークシートに表示する一連のデータを指定するにはどうすればよいですか? 上記のコードでワークシートをテーブルに関連付ける/接続するにはどうすればよいですか?
c# - C#で複数のリストボックスからExcel列にデータを書き込む
複数のリストボックスにデータのリストがあるc#のWindowsフォームアプリケーションがあります(各リストボックスに約56個)。以下に例を示します。
- listbox1 には生徒名のデータが含まれています
- listbox2 には学生の住所のデータが含まれています
- listbox3 には学生のパーセンテージが含まれています。
リストは学生データに続きます。ボタンクリックイベントでExcelのデータを印刷する必要があります。データは順序どおりに配置する必要があります。
CSVヘルパーを使用してみましたが、複数のリストボックスからデータを送信する必要がある1セットのリストボックスでしか役に立ちませんでした。
ただし、これでは問題は解決しません。この問題の解決策に関するヘルプは役に立ちます。問題を解決する他の方法は素晴らしいでしょう。
java - Excel 形式の CSV への書き込み: Java
一部のデータをcsv形式で書き込み、Excelを使用して開きたいと考えています。以下は、それを達成しようとしているコードです。
上記のコードが実行され、Excel を使用して csv ファイルを開くと、すべてのデータ (カンマ区切り) が異なるセルに表示されます。助けてください - どうすればこれを達成できますか。
注: さまざまな区切り記号を試しましたが、うまくいきませんでした。
ありがとう、マイク