tôi đã sử dụng câu hỏi nàyTạo một bản sao của một InputStream từ một HttpURLConnection để nó có thể được sử dụng hai lần
How do I convert an InputStream to a String in Java?
để chuyển đổi một InputStream vào một String với mã này:
public static String convertStreamToString(java.io.InputStream is) {
java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
return s.hasNext() ? s.next() : "";
}
My inputstream đến từ một HttpURLConnection InputStream, và khi tôi chuyển đổi sang String, các thay đổi của inputstream và tôi không thể sử dụng nó nữa. Đây là lỗi mà tôi nhận được:
Premature end of file.' SOAP
Tôi có thể làm gì để giữ luồng nhập, khi tôi chuyển đổi chuỗi thành thông tin thích hợp ?.
Speciffically đây là thông tin rằng những thay đổi:
inCache = true (before false)
keepAliveConnections = 4 (before 5)
keepingAlive = false (before true)
poster = null (before it was PosterOutputStream object with values)
Cảm ơn bạn.
Eduardo: là nó có thể cho bạn để tạo InputStream khác và sử dụng nó cho các khách hàng thứ hai? Sau khi đọc dữ liệu trong phương thức này (convertStreamToString), bạn có thể đưa dữ liệu này trở lại vào một luồng khác (ví dụ: ByteArrayInputStream) và sau đó gửi nó cho ứng dụng khách thứ hai của bạn cần đọc cùng một dữ liệu từ luồng đầu vào. – mhshams
Xin chào Mohammad, tôi nghĩ tôi không hoàn toàn hiểu ý bạn. Bạn có thể trả lời câu hỏi để biết thêm chi tiết không ?. Tôi sẽ rất vui khi được cung cấp cho bạn tiền thưởng nếu nó hoạt động tốt. Có bạn là đúng trong bình luận của bạn cho câu hỏi khác, tôi cần phải giữ nguyên InputStream của tôi để chuyển đổi nó sau đó đúng vào một tin nhắn SOAP. Cảm ơn bạn!. – Eduardo