当前位置: 首页 > 面试题库 >

如何在内存中创建新的java.io.File?

姬温文
2023-03-14
问题内容

如何在内存中(而不是在硬盘上)创建新的File(由java.io)?

我正在使用Java语言。我不想将文件保存在硬盘上。

我遇到了一个错误的API(java.util.jar.JarFile)。期待File fileString filename。我没有文件(只有byte[]内容),可以创建临时文件,但这不是一个漂亮的解决方案。我需要验证签名罐子的摘要。

byte[] content = getContent();
File tempFile = File.createTempFile("tmp", ".tmp");
FileOutputStream fos = new FileOutputStream(tempFile);
fos.write(archiveContent);
JarFile jarFile = new JarFile(tempFile);
Manifest manifest = jarFile.getManifest();

在不创建临时文件的情况下如何获得清单的任何示例将不胜感激。


问题答案:

要在内存中写入流,请使用:

new ByteArrayOutputStream();


 类似资料:
  • 问题内容: 我刚刚接受采访,并被要求使用Java 造成内存泄漏。 不用说,我对如何开始创建它一无所知。 一个例子是什么? 问题答案: 这是在纯Java中创建真正的内存泄漏(运行代码无法访问但仍存储在内存中的对象)的好方法: 该应用程序将创建一个长期运行的线程(或使用线程池更快地泄漏)。 线程通过(可选,自定义)加载类。 该类分配大量的内存(例如),在静态字段中存储对它的强引用,然后在中存储对自身的

  • 如何在内存中而不是硬盘上创建新的

  • 问题内容: 我想制作一个内存文件以在pygame混合器中使用。我的意思是这样的(http://www.pygame.org/docs/ref/music.html#pygame.mixer.music.load它说load()方法支持文件对象) 问题答案: 您可能正在寻找或类从Python的包装,无论是在现有的Python 2 和Python 3中 。它们提供了类似于文件的界面,您可以在代码中使用

  • 问题内容: 我正在打印星空金字塔,我无法打印新行。 问题答案: 使用换行符。 您还可以拥有多个: 但是,如果将其呈现为HTML,则需要将HTML标签用于换行符: 源代码中的字符串如下所示: 该字符串在HTML源代码中将如下所示: HTML页面将以换行符的形式呈现给查看该页面的用户,只是将文本拖放到源代码的下一行(如果在HTML页面上)。

  • 是否有可能从内存中(而不是磁盘上)的文件创建ZipArchive。 以下是用例:多个文件在