java - 有没有办法从 InputStream 获取文件
问题描述
我目前正在阅读一个文件:
InputStream inputStream = MyClass.class.getClassLoader().getResourceAsStream(FILE);
有什么办法可以从中获取文件,InputStream
以便以后可以写入它。或者是否可以将其转换InputStream
为OutputStream
指向完全相同的文件?我发现getResourceAsStream()
不存在OutputStream
.
解决方案
你可以这样做
File file = new File(MyClass.class.getResource(FILE).toURI());
FileOutputStream stream = new FileOutputStream(file);
它可以在 IDE 中运行,或者如果您的应用程序是 Web 应用程序(战争)。但是如果你是写一个jar应用,在构建的时候是不行的,因为文件会在jar包里,你不能这样写。在这种情况下,您应该将 FILE 存储在外部(而不是资源中)。
推荐阅读
- android - 尝试在我的应用中截屏时的 Android 回调
- node.js - 如何使用 Mongoose 更新 MongoDb 中的嵌套对象
- laravel - Laravel - 如何将时间以秒为单位转换为人类可读
- google-cloud-platform - 将 PubSub 流保存到 GCS 中的分区拼花文件
- arrays - 轴使用不同参数时如何理解 tf.tensordot?
- javascript - 使用 javascript 调用 solidity 智能合约来铸造代币似乎不起作用
- javascript - 加载资源失败:服务器响应状态为 404 () ,
- numpy - 如何读取 np.genfromtxt 中的数据框而不是 matplotlib 中的文件
- java - Swagger Annotations @Schema 更大的描述
- cplex - 解决方案在 CPLEX 中为 dvar float+ 提供负值