[解決済み] InputStreamを仮想ファイルに変換する方法
2023-06-18 01:29:16
質問
入力変数がjava.io.File型であることを期待するメソッドがありますが、得られるのはInputStreamだけです。また、私はメソッドの署名を変更することはできません。
実際にファイルをファイルシステムに書き込むことなく、InputStreamをFileタイプに変換するにはどうしたらよいでしょうか。
どのように解決するのですか?
このようなものが動作するはずです。なお、簡単のために、Java 7の機能(closeable resourceでtry block)とApache commons-ioのIOUtilsを使用しています。もし、これらが使えない場合は、少し長くなりますが、同じ考えです。
import org.apache.commons.io.IOUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class StreamUtil {
public static final String PREFIX = "stream2file";
public static final String SUFFIX = ".tmp";
public static File stream2file (InputStream in) throws IOException {
final File tempFile = File.createTempFile(PREFIX, SUFFIX);
tempFile.deleteOnExit();
try (FileOutputStream out = new FileOutputStream(tempFile)) {
IOUtils.copy(in, out);
}
return tempFile;
}
}
関連
-
executeQuery()でデータ操作文が発行できない。解決方法
-
代入の左辺は変数でなければならない 解答
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] ファイルへの追記はどのように行うのですか?
-
[解決済み] Javaで数値を小数点以下n桁に丸める方法
-
[解決済み] JavaでStringをInputStreamに変換する方法を教えてください。
-
[解決済み] JavaでInputStreamをバイト配列に変換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipse の問題 アクセス制限。タイプ 'jfxrt' はAPI解決されていません。
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
Git Pull Failed マージされていないファイルがあるため、Pull できません。
-
無効な文字定数
-
Java基礎編 - オブジェクト指向
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
Java:未解決コンパイル問題の解決方法
-
org.xml.sax.SAXParseExceptionのエラー解決方法
-
[解決済み] Javaでクラスパスからテキストファイルを本当に読み込む方法
-
[解決済み] InputStreamからFileオブジェクトを作成することは可能ですか?