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

使用内存中的字节数组(没有物理文件)创建Java File对象(或等效对象)

潘弘扬
2023-03-14
问题内容

我想File在内存中创建一个Java 对象(而不创建物理文件),并用字节数组填充其内容。

能做到吗?

想法是将其传递给Spring InputStreamSource。我正在尝试下面的方法,但是它返回说“字节数组不包含文件名。”。

MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message);      
helper.setFrom("no-reply@example.com", "xyz");
helper.setTo(email);
helper.setText(body,true);
helper.setSubject(subject);
helper.addInline("cImage",
        new InputStreamResource(new ByteArrayInputStream(imageByteArr)));

mailSender.send(message);

问题答案:

您可以粘贴完整的堆栈跟踪信息吗?没有诸如“内存中”文件之类的东西。使用ByteArrayInputStream应该足够了。

您需要实现Resource#getFilename()。请尝试以下操作:

helper.addInline("cImage", new ByteArrayResource(imageByteArr){
            @Override
            public String getFilename() {
                return fileName;
            }
        });


 类似资料:
  • 问题内容: 我正在使用box2d在Java中创建一个物理游戏。 我正在编写一个AI类,并希望在考虑内存对齐的情况下确保尽可能高效地存储我的数据。 最小的增加可能会产生巨大的变化,因为我实际上正在“尽可能多地运行AI对象”,直到系统变慢为止。该程序已经在碰撞检测上使用了大量内存,因为我想再次能够支持尽可能多的代理商。 到目前为止,我所了解的是,最小的Java类型是8bytes,并且对象被填充为8的倍

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

  • 问题内容: 我有以下JNI方法,它可以本地创建Java对象的集合,然后将其返回给Java: 我需要释放用本机代码创建的对象,还是由GC自动完成?如果可以,我该如何将其返回Java? 问题答案: 您不需要释放在本机代码中创建的Java对象。实际上,您不能。当没有其他引用时,垃圾收集器可以释放对象。 有时在本机代码中释放对Java对象的 引用 很有用。当本机代码保存但不再需要对大型对象的引用或大量引用

  • 问题内容: 我是Java的新手,当时我用Java创建了一系列对象。 例如,我有A类 但这只是创建指向A的指针(引用),而不是4个对象。它是否正确?我看到当我尝试访问创建的对象中的函数/变量时,出现空指针异常。为了能够操作/访问对象,我必须这样做 这是正确的还是我做错了什么?如果这是正确的,那真的很奇怪。 编辑:我觉得这很奇怪,因为在C ++中,你只是说新的A [4],它创建了四个对象。 问题答案:

  • 我需要创建一个对象(银行),其中包含一组客户端和bankID。我的问题是,我不知道如何在主函数中创建银行。 银行类别: 客户端类: 主要类别: 这些是问题所在: 你必须创建一个程序来模拟银行活动。该系统包括以下模块:银行—客户(客户数组)— idBank(字符串)5 BancAccount — accountNumber(字符串)—金额(浮点)客户—姓名(字符串)—地址(字符串)—账户(银行账户数

  • 问题内容: 我需要存储大量的日期(可能足够大,以至于需要考虑使用的堆空间量,因此请不要讲授过早的优化),我想知道使用某种原始表示是否有意义java.util.Date(或其他一些现有的Date类)的形式。我知道我可以进行一些性能分析来尝试一下,但是有人知道一个Date对象使用多少字节的内存吗? 问题答案: 我的直觉反应是Date的内存开销非常小。检查源代码,似乎该类仅包含一个实例字段(长为毫秒)。