草庐IT

inputstreams

全部标签

Java Resource InputStream 正在关闭?

我正在将我们的Java代码库从Java7(80)迁移到Java8(162)。(是的……我们处于技术的最前沿。)切换后,我在高度并发的环境中从部署的jar加载XML资源文件时遇到问题。正在使用try-with-resources访问资源文件并通过SAX解析:try{SAXParserparser=SAXParserFactory.newInstance().newSAXParser();try(InputStreamin=MyClass.class.getResourceAsStream("resource.xml")){parser.parse(in,newDefaultHandler

java - 使用 InputStream 通过网络寻找流式音频的有效方法

我正在使用jlGui播放音频文件的BasicPlayer(它基于Javasound)。该文件位于Samba共享中,我正在使用Jcifs访问它。它给了我一个InputStream。NtlmPasswordAuthenticationauth=newNtlmPasswordAuthentication(...);SmbFilef=newSmbFile(...);SmbFileInputStreamaudioIn=newSmbFileInputStream(f);intbufSize=8096;//shouldIusef.length()here?audioBIS=newBufferedIn

java - 如何将 InputStream 转换为 int

这个问题在这里已经有了答案:HowdoIconvertaStringtoanintinJava?(47个回答)关闭7年前。我在/raw文件夹中有一个名为“max_easy.txt”的txt文件,在这个文件中写入了一个数字,在本例中为“0”...我想要一个具有0作为Int值的var,如何我会那样做吗?我想这一行给了我一个字符串值,我该如何转换它?InputStreamletturaEasy=getResources().openRawResource(R.raw.max_easy);

java - 如何有效地将未压缩的 InputStream 转换为 gzip 压缩的 InputStream?

用户将一个大文件上传到我的网站,我想对该文件进行gzip压缩并将其存储在blob中。所以我有一个未压缩的InputStream,而blob需要一个InputStream。我知道如何使用GZIPOutputStream将InputStream压缩为Outputstream,但我如何从gzip压缩的OutputStream返回到blob所需的InputStream。我能找到的唯一方法是使用ByteArrayOutputStream,然后使用toByteArray创建一个新的InputStream。但这意味着我在内存中有文件的完整副本。如果JDBC驱动程序实现也将流转换为byte[],那么我

Java 套接字错误 : Reading Strings from Socket's InputStream

我正在使用Socket与ServerSocket通信。字符串正在从服务器发送到我的套接字。每个不同的行都是一条消息,在解析时包含信息。要读取这些文本行,需要使用扫描器。问题在于数据“突飞猛进”。虽然Server在连续均匀的发送数据,但是client端的Scanner读取的数据好像有停顿,一下子读入一堆消息(30-40条),然后又停顿。它无限期地重复这个循环。如果我提高发送数据的速率,暂停的持续时间会减少;如果我放慢数据速度(每秒1条消息),错误仍然存​​在并且暂停变得很长。这几乎就好像Socket在将任何数据发送到Scanner之前等待其缓冲区溢出;然后刷新所有内容并再次等待溢出。但是

java - 从 InputStream 读取文本和二进制数据

这个问题在这里已经有了答案:ReadfromInputStreaminmultipleformats(3个答案)关闭8年前。我正在尝试从二进制流中读取数据,其中的一部分应该被解析为UTF-8。直接对二进制数据使用InputStream并在它上面对UTF-8文本使用InputStreamReader是行不通的,因为阅读器会提前阅读并弄乱后续二进制数据,即使它被告知最多读取n个字符。我认识到这个问题与ReadfromInputStreaminmultipleformats非常相似,但那里提出的解决方案是特定于HTTP流的,这对我没有帮助。我想到的只是将所有内容都读取为二进制数据,然后将相关

java - 如何基于InputStream创建iText BaseFont

我在Web应用程序中有一个字体文件“arial.ttf”,我只能将其内容作为InputStream获取。InputStreaminputFont=getResourceAsStream("/resources/arial.ttf");如何创建iTextBaseFont基于InputStream?createFont方法不接受它。BaseFontbf=BaseFont.createFont(inputFont,BaseFont.IDENTITY_H,BaseFont.EMBEDDED);createFont(InputStream,String,boolean)can'tinvokecr

java - 使用现有 InputStream 作为附件内容使用 javax.mail 发送电子邮件

是否可以使用javax.mail发送电子邮件并使用“现有”InputStream作为电子邮件附件内容?目前我正在构建如下电子邮件消息:finalMimeMessagemessage=newMimeMessage(session);message.setFrom(newInternetAddress(from));message.addRecipient(Message.RecipientType.TO,newInternetAddress(to));message.setSubject("Subjectline");finalMultipartmultipartContent=newM

java - 从 JAR 作为 InputStream 加载?

是否有可用于从InputStream加载类的ClassLoader实现?我正在尝试将具有InputStream的JAR加载到新的ClassLoader中。 最佳答案 这不太可能,如果您尝试自己做就会发现。您将无法随机访问InputStream来根据请求查找类,因此您必须将内容缓存在内存或文件系统中。如果您在磁盘上缓存,只需使用URLClassLoader.如果你在内存中缓存,你需要用JarInputStream创建某种Map然后扩展ClassLoader(覆盖适当的方法)。这种方法的缺点是您将数据不必要地保存在RAM中。

java - 在 java 中制作 InputStream 副本的最佳方法是什么

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:HowtomakeadeepcopyofanInputStreaminJava?我有一个InputStream对象,我想复制它。执行此操作的最佳方法是什么?数据不是来自文件,而是作为从网页发送的http表单的有效负载,我使用的是ApacheCommonsFileUpload库,我的InputStream代码如下所示:...InputStreamimageStream=null;booleanisMultipart=ServletFileUpload.isMultipartContent(request);Fi