如何修复java.io.IOException:尝试从封闭流读取?

如何修复java.io.IOException:尝试从封闭流读取?,java,ioexception,rest-assured,Java,Ioexception,Rest Assured,我有下面的代码,在第二次打印语句时抛出IO错误。我不明白为什么它会扔。有人能帮我吗。如果我评论这句话,你会觉得很好。我所理解的是,我使用响应对象两次,但我应该能够使用不止一次 Response response=customerResource.customerOperations("post", MDFCommonUtil.getInstance() .readFileAsString("CommonFiles/payloadForPost.xml

我有下面的代码,在第二次打印语句时抛出IO错误。我不明白为什么它会扔。有人能帮我吗。如果我评论这句话,你会觉得很好。我所理解的是,我使用响应对象两次,但我应该能够使用不止一次

Response response=customerResource.customerOperations("post",
    MDFCommonUtil.getInstance()
    .readFileAsString("CommonFiles/payloadForPost.xml"),null);

System.out.println("inside the methid=="+response.getStatusCode());
    
System.out.println("inside the methid=="+response.asString());
堆栈跟踪:

 java.io.IOException: Attempted read on closed stream.     at
 org.apache.http.conn.EofSensorInputStream.isReadAllowed(EofSensorInputStream.java:110)
     at
 org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:136)
     at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)     at
 sun.nio.cs.StreamDecoder.implRead(Unknown Source)     at
 sun.nio.cs.StreamDecoder.read(Unknown Source)     at
 java.io.InputStreamReader.read(Unknown Source)     at
 java.io.BufferedReader.fill(Unknown Source)     at
 java.io.BufferedReader.read1(Unknown Source)     at
 java.io.BufferedReader.read(Unknown Source)     at
 java.io.Reader.read(Unknown Source)     at
 java_io_Reader$read.call(Unknown Source)     at
 com.jayway.restassured.internal.RestAssuredResponseImpl.convertStreamToString(RestAssuredResponseImpl.groovy:366)
     at
 com.jayway.restassured.internal.RestAssuredResponseImpl.this$2$convertStreamToString(RestAssuredResponseImpl.groovy)
     at
 com.jayway.restassured.internal.RestAssuredResponseImpl$this$2$convertStreamToString.callCurrent(Unknown
 Source)     at
 com.jayway.restassured.internal.RestAssuredResponseImpl.asString(RestAssuredResponseImpl.groovy:144)
     at
 mdf.test.rest.testcases.TestCustomerResource.postCustomerFeature2(TestCustomerResource.java:60)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at
 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)     at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)     at
 java.lang.reflect.Method.invoke(Unknown Source)     at
 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
     at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)     at
 org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)     at
 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)     at
 org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
     at
 org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
     at org.testng.TestRunner.privateRun(TestRunner.java:767)     at
 org.testng.TestRunner.run(TestRunner.java:617)     at
 org.testng.SuiteRunner.runTest(SuiteRunner.java:334)     at
 org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)     at
 org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)     at
 org.testng.SuiteRunner.run(SuiteRunner.java:240)     at
 org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)     at
 org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)     at
 org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)     at
 org.testng.TestNG.runSuitesLocally(TestNG.java:1149)     at
 org.testng.TestNG.run(TestNG.java:1057)     at
 org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)     at
 org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)     at
 org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)

 

可能在调用asString()之前已关闭响应请显示异常堆栈跟踪。readFileAsString()已关闭问题中应张贴fileStack跟踪。你可以自己看到,它们在评论中是难以辨认的