草庐IT

half-closed

全部标签

java.io.IOException : Stream closed 异常

对于多张图片检索,我调用一个带有anchor标记的PhotoHelperServlet来获取imageNames(多张图片),如下所示PhotoHelperServlet获取Images的名称protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//GettinguseridfromsessionImageimage=newImage();image.setUserid(userid);ImageDAOimageDAO=new

java - 为什么 Java 的 RoundingMode HALF_UP 将 -2.5 舍入到 -3?

RoundingMode允许程序员指定float的舍入方式。这一切都很棒,但我发现其中有一件事很奇怪。也许我只是误解了学校的一些基本知识。但是这个舍入模式被描述为我在学校教的那个,“总是四舍五入到最接近的数字,当死在中心时,总是向上舍入。”,但为什么它会从-2.5舍入到-3?我的结论是,它根据绝对值四舍五入,但对我来说,-2肯定是-2.5的“向上”。 最佳答案 RoundingMode.UP是“远离零”的舍入模式。RoundingMode.FLOOR朝向负无穷大,CEILING朝向正无穷大。HALF_UP在小数部分恰好为0.5时与U

java - 为什么在 Java 的 try-with-resources 构造中 catch 之前调用资源的 close() 方法?

我偶然发现,是这样的。请参阅下面的示例:publicclassAutoClosableTest{publicstaticvoidmain(String[]args)throwsException{try(MyClosableinstance=newMyClosable()){if(true){System.out.println("try");thrownewException("Foo");}}catch(Exceptione){System.out.println("Catched");}finally{System.out.println("Finally");}}publics

java - Context 和 InitialContext - 我应该在这些对象上调用 close() 方法吗?

如果我早点查看有关Context和InitialContext的JavaSE6文档,我会发现每个都有一个close()方法。所以现在我想知道,我是否需要在Context/InitialContext对象上调用close()方法?这是我的典型servlet代码片段以及如何使用Context/InitialContext对象。publicclassMyTypicalServletextendsHttpServlet{//threadsafeDataSourceds;StringFilePath;publicvoidinit(ServletConfigconfig)throwsServlet

java - 消除或理解 Jetty 9's "IllegalStateException : too much data after closed for HttpChannelOverHttp"

设置我使用jaxws-maven-pluginv2.1生成一个网络服务类。我还包括以下Jetty依赖项:org.eclipse.jetty.jetty-serverorg.eclipse.jetty.jetty-sevletorg.eclipse.jetty.jetty-http-spi(问题的版本是9.2.10.v20150310,但是除了知道它的Jetty9之外,问题超越了Jetty的特定次要版本号)。使用下面的代码,我可以成功发布服务:System.setProperty("com.sun.net.httpserver.HttpServerProvider","org.eclip

java - 在 AutoCloseable close() 中检测异常

我想构建一个自定义的AutoCloseable类,这样我就可以将其转换为:try{begin();doThings();commit();}finally{if(transactionIsActive())rollback();}进入更容易try(Transactiont=begin()){//toobadIhavetostoreitintthoughIdon'tuseitdoThings();}Transaction在这里是AutoCloseable,在close()中它会根据需要提交或回滚事务。但要实现这一点,我需要在Transaction.close()中检测tryblock内是

java - 为什么 HALF_UP 有时会四舍五入加倍?

以下代码:doubledoubleValue=1713.6;floatfloatValue=1713.6f;Stringfs="%-9s:%-7s%-7s\n";System.out.printf(fs,"","double","float");DecimalFormatformat=newDecimalFormat("#0");System.out.printf(fs,"toString",String.valueOf(doubleValue),String.valueOf(floatValue));format.setRoundingMode(RoundingMode.DOWN);

java - 资源泄漏 : 'in' is never closed, 尽管已关闭

我知道那里有几个标题相似的问题,但其中大多数只是忘记在他们的流中放置一个close()指令。这里不一样。假设我有以下最小示例:publicvoidtest()throwsIOException{InputStreamin;if(file.exists()){in=newFileInputStream(file);}else{in=newURL("someurl").openStream();}in.close();}这在Eclipse(JunoSR1)中给我一个Resourceleak:'in'isneverclosed警告。但是当我将in.close()移动到条件block中时,警告

c++ - DELETE_ON_CLOSE 发生得太早

我正在尝试在另一台机器上创建一个进程,该进程在完成后会自行删除。我在CreateFile中使用DELETE_ON_CLOSE标志。这种方法有点流行,但我遇到了麻烦,因为我无法在它打开时执行它(预期但这是某些解决方案所做的)。为了解决这个问题,我尝试使用读取权限打开文件。DELETE_ON_CLOSE标志表示它应该只在所有指向它的指针都消失时才删除文件。我有一个指向它的读取指针,我关闭了写入句柄,文件被删除,使我打开的句柄不可读。任何其他解决方法将不胜感激。我还考虑过这样一种可能性,即由于这是一个远程文件系统,因此句柄可能会发生一些奇怪的事情。我无法修改我发送过来的可执行文件的代码,所以

c++ - 使用 FILE_FLAG_DELETE_ON_CLOSE 标志创建文件

在描述我的问题之前,这里是我正在编写的程序(IHExplorer.exe)的描述:这是一个C++应用程序。IHExplorer应用程序看起来尽可能像Windows资源管理器窗口。但有一个异常(exception),那就是从这个资源管理器窗口中启动文件会首先将它们解密到用户的临时文件夹,然后启动与文件扩展名关联的应用程序并在关闭时删除文件。我遇到的问题是文件关闭时自动删除。这是一个场景:用户在IHExplorer中双击加密的.txt文件。IHExplorer解密内存中的.txt文件,然后使用::CreateFile将其写入%TEMP%,它返回文件的句柄(IHExplorer必须至少保持此