我正在尝试使用Scala中的基本Java代码来读取文件并写入OutputStream,但是当我使用通常的while(!=-1)给了我一个警告“将Unit和Int的类型与!=进行比较总是会产生true”。代码如下:valfile=this.cache.get(imageFileEntry).getValue().asInstanceOf[File]response.setContentType("image/%s".format(imageDescription.getFormat()))valinput=newBufferedInputStream(newFileInputStream
我正在尝试使用Scala中的基本Java代码来读取文件并写入OutputStream,但是当我使用通常的while(!=-1)给了我一个警告“将Unit和Int的类型与!=进行比较总是会产生true”。代码如下:valfile=this.cache.get(imageFileEntry).getValue().asInstanceOf[File]response.setContentType("image/%s".format(imageDescription.getFormat()))valinput=newBufferedInputStream(newFileInputStream
我只是想知道当我们在与套接字关联的inputStream和outStream上调用close时java会做什么。与socket上的close调用有什么区别,即Socket.close()。如果我们只是关闭socket上的io流,而不关闭socket,是否可以再次重新打开socket上的io流?提前致谢! 最佳答案 来自Socket的javaapi文档:publicvoidclose()throwsIOExceptionClosesthissocket.AnythreadcurrentlyblockedinanI/Ooperation
我只是想知道当我们在与套接字关联的inputStream和outStream上调用close时java会做什么。与socket上的close调用有什么区别,即Socket.close()。如果我们只是关闭socket上的io流,而不关闭socket,是否可以再次重新打开socket上的io流?提前致谢! 最佳答案 来自Socket的javaapi文档:publicvoidclose()throwsIOExceptionClosesthissocket.AnythreadcurrentlyblockedinanI/Ooperation
这个问题在这里已经有了答案:ProperwaytocloseanAutoCloseable(1个回答)关闭3年前。这似乎很愚蠢,但是关闭OutputStream时最可靠的模式是什么?现在我有类似下面的东西,这似乎是try-catch-finally-overkill:privatevoidwriteContentsToFile(OutputStreamostream,Propertiescontents){try{contents.store(ostream,"comments");}catch(IOExceptione){thrownewResourceException("Fail
这个问题在这里已经有了答案:ProperwaytocloseanAutoCloseable(1个回答)关闭3年前。这似乎很愚蠢,但是关闭OutputStream时最可靠的模式是什么?现在我有类似下面的东西,这似乎是try-catch-finally-overkill:privatevoidwriteContentsToFile(OutputStreamostream,Propertiescontents){try{contents.store(ostream,"comments");}catch(IOExceptione){thrownewResourceException("Fail
我即将为一个直接输出到OutputStream的XML解析Java类编写junit测试。例如xmlWriter.writeString("foo");会产生类似foo写入到XmlWriter实例中保存的输出流。问题是如何测试这种行为。一种解决方案当然是让OutputStream成为FileOutputStream,然后通过打开写入的文件来读取结果,但这不是很优雅。 最佳答案 使用ByteArrayOutputStream然后使用toByteArray()从中获取数据.这不会测试它如何写入流(一次一个字节或作为一个大缓冲区),但通常你
我即将为一个直接输出到OutputStream的XML解析Java类编写junit测试。例如xmlWriter.writeString("foo");会产生类似foo写入到XmlWriter实例中保存的输出流。问题是如何测试这种行为。一种解决方案当然是让OutputStream成为FileOutputStream,然后通过打开写入的文件来读取结果,但这不是很优雅。 最佳答案 使用ByteArrayOutputStream然后使用toByteArray()从中获取数据.这不会测试它如何写入流(一次一个字节或作为一个大缓冲区),但通常你
我需要将java.nio.ByteBuffer的内容放入java.io.OutputStream。(希望我有一个Channel但我没有)最好的方法是什么?我不能使用ByteBuffer的array()方法,因为它可以是只读缓冲区。我也可能在使用这个ByteBuffer和拥有一个常规的byte[]数组之间散布对OutputStream的写入,我可以直接使用OutputStream.write(). 最佳答案 看Channels.newChannel(OutputStream).它会给你一个给定输出流的channel。使用Writabl
我需要将java.nio.ByteBuffer的内容放入java.io.OutputStream。(希望我有一个Channel但我没有)最好的方法是什么?我不能使用ByteBuffer的array()方法,因为它可以是只读缓冲区。我也可能在使用这个ByteBuffer和拥有一个常规的byte[]数组之间散布对OutputStream的写入,我可以直接使用OutputStream.write(). 最佳答案 看Channels.newChannel(OutputStream).它会给你一个给定输出流的channel。使用Writabl