Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将InputStream转换为文件对象_Java_Spring Boot - Fatal编程技术网

Java 将InputStream转换为文件对象

Java 将InputStream转换为文件对象,java,spring-boot,Java,Spring Boot,我想在Spring应用程序中使用loadKeyMaterial()api时传递一个文件对象。我使用一个jar文件来运行我的应用程序,在直接访问jar中的文件时遇到了这个问题。 因此,我使用InputStream从资源中访问该文件。 如何将此InputStream转换为loadKeyMaterial()的File对象?您可以使用使用KeyStore而不是File参数的重载。KeyStore可以从流中加载,在中有一个例子。您可以使用重载来使用KeyStore而不是文件参数。KeyStore可能是从流

我想在Spring应用程序中使用
loadKeyMaterial()
api时传递一个
文件
对象。我使用一个jar文件来运行我的应用程序,在直接访问jar中的
文件时遇到了这个问题。
因此,我使用
InputStream
从资源中访问该文件。
如何将此
InputStream
转换为
loadKeyMaterial()
File
对象?

您可以使用使用
KeyStore
而不是
File
参数的重载。
KeyStore
可以从流中加载,在中有一个例子。

您可以使用重载来使用
KeyStore
而不是
文件
参数。
KeyStore
可能是从流中加载的,这里有一个例子。

确实可能是重复的,但是在某个地方创建一个临时文件,其中的密钥听起来不太理想。当然,打包在jar中的密钥也不是很安全,但是比把它们放在temp文件夹中要好一步@来自上面链接的anchreg:是否可以从他们提到的InputStream创建文件对象,以创建File File=new File();然而,我已经看到,当我们创建一个jar时,我们不能直接访问一个文件。因此,我不确定在resources文件夹中的何处创建该临时文件。@ewramner..那么如何继续该方法?@pixelWorld,您可以在JAR之外读/写文件,只要运行JVM进程的用户具有所需的权限。Jiri Tusek的答案似乎很适合,你不能使用重载方法吗?确实可能是重复的,但在某个地方创建一个临时文件,其中的键听起来不太理想。当然,打包在jar中的密钥也不是很安全,但是比把它们放在temp文件夹中要好一步@来自上面链接的anchreg:是否可以从他们提到的InputStream创建文件对象,以创建File File=new File();然而,我已经看到,当我们创建一个jar时,我们不能直接访问一个文件。因此,我不确定在resources文件夹中的何处创建该临时文件。@ewramner..那么如何继续该方法?@pixelWorld,您可以在JAR之外读/写文件,只要运行JVM进程的用户具有所需的权限。Jiri Tousek的答案似乎很合适,你能不能不使用重载方法?我必须使用SSLContexts.custom().loadKeyMaterial()api来初始化SSLContext对象,我看不出使用上述解决方法我能做到这一点。我必须使用SSLContexts.custom().loadKeyMaterial()api来初始化SSLContext对象,我看不出有了上述解决办法,我就可以做到这一点。