問題タブ [temporary-files]

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 投票する
3 に答える
7319 参照

python - 一時ファイルの削除中に WindowsError が発生するのはなぜですか?

  1. 一時ファイルを作成しました。
  2. 作成されたファイルにいくつかのデータを追加しました。
  3. 保存してから削除しようとしました。

しかし、私は得てWindowsErrorいます。編集後、ファイルを閉じました。ファイルにアクセスしている他のプロセスを確認するにはどうすればよいですか。

0 投票する
3 に答える
2880 参照

sqlite - sqlite - メモリ内の一時データ

私の状況:ファイルベースのsqlite dbがあり、すべての一時的なものをメモリ内で実行したい(大規模なクエリ用の一時データベースなど)。PRAGMA temp_store = 2コマンドを使用してみましたが、それが本当に私がやりたいことをするかどうかは 100% わかりません。奇妙なことは、デバッグ中に、ディスク上の一時ファイルを開く関数winGetTempnameに到達することです!

このプラグマを設定するとすぐに、一時ファイルを開こうとするべきではないと思いました...

TEMP_STORE プリプロセッサ フラグも使用しようとしましたが、やはりwinGetTempnameの呼び出しはまだ行われています ...

何か案は?

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

c++ - FILE_FLAG_DELETE_ON_CLOSE フラグを指定した CreateFile

私の問題を説明する前に、私が書いているプログラム (IHExplorer.exe) の説明を次に示します。

これは C++ アプリケーションです。

IHExplorer アプリケーションは、可能な限り Windows エクスプローラー ウィンドウに似た外観にする必要があります。1 つの例外を除き、このエクスプローラー ウィンドウ内からファイルを起動すると、最初にユーザーの一時フォルダーにファイルが復号化され、次にファイル拡張子に関連付けられたアプリが起動され、閉じるときにファイルが削除されます。

私が抱えている問題は、ファイルが閉じられたときの自動削除にあります。シナリオは次のとおりです。

  1. ユーザーは、IHExplorer で暗号化された .txt ファイルをダブルクリックします。
  2. IHExplorer は、メモリ内の .txt ファイルを復号化し、ファイルに HANDLE を返す ::CreateFile を使用して %TEMP% に書き込みます (IHExplorer は、.txt ファイルがシェルで実行されるまで、少なくともこのハンドルを開いたままにしておく必要があります)。

  3. IHExplorer Shell 一時的な場所から .txt ファイルを (::ShellExecute を呼び出して) 実行します。

  4. これで、IHExplorer とメモ帳の両方が、開いているファイルへのハンドルを持ちます。
  5. IHExplorer が最初に閉じた場合でも、IHExplorer とメモ帳の両方がファイルへのハンドルを閉じた場合、ファイルは自動削除される必要があります。

わかった。これは、私が実現したいことを説明する基本的なユーザー ケースです。私が抱えている問題は、::ShellExecute()、メモ帳に「別のプロセスで使用されているため、プロセスはファイルにアクセスできません」と表示されることです。(これは IHExplorer になります)。これを回避し、IHExplorer でハンドルを開いている間でもメモ帳を開く必要があります。

::CreateFile への私の呼び出しは次のようになります。

他のプロセス (メモ帳など) が削除アクセスでファイルを開くことができるように、FILE_SHARE_DELETE を使用したことに注意してください。

FILE_ATTRIBUTE_TEMPORARY | を使用したことに注意してください。FILE_FLAG_DELETE_ON_CLOSE 属性は、ファイルが一時的なものであり、閉じるときに削除する必要があることを示します。

&sa パラメータにも注意してください。これは私が使用している SECURITY_ATTRIBUTES 構造であり、私の問題はここにあると感じています (希望)。もう一度コードを示します。今回は関数全体を投稿して、SECURITY_ATTRIBUTES 構造にどのように入力するかを確認できるようにします。

::CreateFile に渡す正しい SECURITY_DESCRIPTOR を決定すれば、希望どおりに機能する可能性があると思います。助けてください。

ところで、LaunchFile 関数は ::ShellExecute を呼び出してファイルを起動するだけです。

0 投票する
4 に答える
2599 参照

c# - 編集:一時ファイルをどこにどのようにダウンロードする必要がありますか?

Web から exe を実行したいとします。明らかに、一時フォルダーにダウンロードします。そこから実行し、削除します (または OS に削除させます)。アクセス許可の問題に爆撃しないようにしながら、存在するファイルなどをオーバーライドする方法はありますか?

ありがとう。

編集私はデスクトップアプリケーションからメンターします。ところで、私には多くの推測がありますが、何が受け入れられているのか疑問に思っています。

を使用できることはわかっPath.GetTempFileていますが、すでにファイルが作成されているため、それをいくつかのデータベースに追加して追跡することもできるのではないかと考えています。そのため、それを削除して自分のファイルに置き換えることはできません。 .

Path.TempDirectory(または同様のもの)とを使用できることはわかっていますPath.RandomFileNameが、後者はファイル名にランダムな拡張子を追加しますが、exeが必要な場合、明らかにこれも非常に簡単に解決できますが、思われるものを書き直すのは奇妙に思えますそのMSはすでに私たちのために書き込もうとしました。

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

java - 画像のパスを知らずにJTooltipに画像を追加する(画像が一時的なリソースであるため)

もう少し具体的に言うと、クライアント(C#/モノラル)と通信する単純なマルチスレッドTCPServer(Java)を構築しました。要求に応じて、クライアントはスクリーンショットを撮り、それをサーバーに送信します。スクリーンショットはJTableに表示されます。同じ画像で別のサイズの表のこれらの画像にツールチップを追加したいと思います。現在、コードは次のようになっています。

もちろん、src属性にはパスが必要なため、これは機能しません。問題は、この動作を回避する方法がわからないことです。
したがって、私の質問は次のいずれかになります
。1)一時リソースの有効なパスを取得する方法(ファイルシステムにリソースを保存せずに)
または
2)Images/ImageIconsを簡単に表示できるカスタムJTooltipを提供する方法

0 投票する
4 に答える
12852 参照

python - WindowsのTEMPディレクトリの制限はありますか?

フォルダーに大量のデータを書き込むPythonで記述されたアプリケーションがあり%TEMP%ます。奇妙なことに、時々、それは死に、戻ってきIOError: [Errno 28] No space left on deviceます。ドライブには十分な空き容量%TEMP%があり、それ自体のパーティションではありません。私は管理者であり、システムには割り当てがありません。

Windowsは、データに人為的にある種の制限を課しています%TEMP%か?そうでない場合、この問題の原因となる可能性のあるアイデアはありますか?

編集:以下の議論に続いて、私は何が起こっているのかをよりよく説明するために質問を明確にしました。

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

bytearray - Java プロジェクト モジュール - InputStream/OutputStream または .tmpFile/byte[] を使用

自分のアプリケーション モジュールで InputStream/OutputStream オブジェクトを渡していることに気付きました。


コンテンツをディスクに保存し 、さまざまなメソッド呼び出し間でリソースのようなものを渡す方が良いかどうか疑問に思っています。毎回ストリームを処理する代わりに
、バイト [] 配列を使用します。

これらの状況でのあなたのアプローチは何ですか?
ありがとう

編集:
ユーザーがアップロードしたファイルを受け取るコントローラーがあります。ファイルをレンダリングする機能を提供するユーティリティ モジュールがあります。

InputStream 内のファイルは、ユーザーによってアップロードされたものです。os は、応答に関連付けられたストリームです。生成されたファイルを .tmp ファイルに保存してファイル パスを返すユーティリティ メソッドを使用するか、byte[] などを使用して、コントローラーで outputStream を直接処理する方がよいかどうか疑問に思っています。

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

java - Font.createFont は一時ディレクトリにファイルを残す

以下のコードは機能しますが、実行されるたびに一時ディレクトリにフォント ファイルのコピーが残ります。これらのファイルの名前は+~JF7154903081130224445.tmpで、番号は作成されたファイルごとにランダムに見えます。

私は、sun.com のフォーラムや Web 上の他のリソースで、これが JDK のバグとして認識されている何年も前の議論を見つけました。ただし、使用しているバージョンはそれ以降のバージョン (1.6.0_13) です。

フォント関連の操作が終わってからファイルを削除して解決しようとしたのですが、その時点でファイルがロックされてしまいます。ファイルは、Web アプリケーションが停止した後にのみ削除できます。

誰にもこれに対する解決策はありますか?

0 投票する
7 に答える
20586 参照

php - 一時ファイルを作成して自動削除

リーチング防止のダウンロードスクリプトを作成しています。セッションIDで名前が付けられた一時ファイルを作成する予定です。セッションの有効期限が切れると、ファイルは自動的に削除されます。出来ますか ?そして、PHPでそれを行うためのヒントを教えてください。

返信ありがとうございます