Changed stream read methods to default not close the streams
This commit is contained in:
parent
95586441ee
commit
8ad285cd61
4 changed files with 45 additions and 18 deletions
|
|
@ -36,42 +36,73 @@ public class IOUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads and returns all the content of a stream.
|
* Reads and returns all the content of a stream.
|
||||||
* This function will close the inout stream at the end.
|
* The InputStream will not be closed
|
||||||
*
|
*
|
||||||
* @param stream
|
* @param stream
|
||||||
* @return the stream contents
|
* @return a byte array with the stream contents
|
||||||
*/
|
*/
|
||||||
public static byte[] readContent(InputStream stream) throws IOException{
|
public static byte[] readContent(InputStream stream) throws IOException{
|
||||||
|
return readContent(stream, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reads and returns all the content of a stream.
|
||||||
|
*
|
||||||
|
* @param stream
|
||||||
|
* @param close true if the stream should be closed at the end
|
||||||
|
* @return a byte array with the stream contents
|
||||||
|
*/
|
||||||
|
public static byte[] readContent(InputStream stream, boolean close) throws IOException{
|
||||||
DynamicByteArrayStream dyn_buff = new DynamicByteArrayStream();
|
DynamicByteArrayStream dyn_buff = new DynamicByteArrayStream();
|
||||||
byte[] buff = new byte[8192];
|
byte[] buff = new byte[8192];
|
||||||
int len = 0;
|
int len = 0;
|
||||||
while((len = stream.read(buff)) != -1){
|
while((len = stream.read(buff)) != -1){
|
||||||
dyn_buff.append(buff, 0, len);
|
dyn_buff.append(buff, 0, len);
|
||||||
}
|
}
|
||||||
stream.close();
|
|
||||||
|
|
||||||
|
if (close) stream.close();
|
||||||
return dyn_buff.getBytes();
|
return dyn_buff.getBytes();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads and returns all the content of a stream as a String.
|
* Reads and returns all the content of a stream as a String.
|
||||||
* This function will close the input stream at the end.
|
* The InputStream will not be closed
|
||||||
*
|
*
|
||||||
* @param stream
|
* @param stream
|
||||||
* @return a String with the content of the stream
|
* @return a String with the content of the stream
|
||||||
*/
|
*/
|
||||||
public static String readContentAsString(InputStream stream) throws IOException{
|
public static String readContentAsString(InputStream stream) throws IOException{
|
||||||
return readContentAsString(new InputStreamReader(stream));
|
return readContentAsString(stream, false);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Reads and returns all the content of a stream as a String.
|
||||||
|
*
|
||||||
|
* @param stream
|
||||||
|
* @param close true if the stream should be closed at the end
|
||||||
|
* @return a String with the content of the stream
|
||||||
|
*/
|
||||||
|
public static String readContentAsString(InputStream stream, boolean close) throws IOException{
|
||||||
|
return readContentAsString(new InputStreamReader(stream), close);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads and returns all the content of a stream as a String.
|
* Reads and returns all the content of a stream as a String.
|
||||||
* This function will close the input stream at the end.
|
* The Reader will not be closed
|
||||||
*
|
*
|
||||||
* @param reader
|
* @param reader
|
||||||
* @return a String with the content of the stream
|
* @return a String with the content of the stream
|
||||||
*/
|
*/
|
||||||
public static String readContentAsString(Reader reader) throws IOException{
|
public static String readContentAsString(Reader reader) throws IOException{
|
||||||
|
return readContentAsString(reader, false);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Reads and returns all the content of a stream as a String.
|
||||||
|
*
|
||||||
|
* @param reader
|
||||||
|
* @param close true if the stream should be closed at the end
|
||||||
|
* @return a String with the content of the stream
|
||||||
|
*/
|
||||||
|
public static String readContentAsString(Reader reader, boolean close) throws IOException{
|
||||||
StringBuilder str = new StringBuilder();
|
StringBuilder str = new StringBuilder();
|
||||||
BufferedReader in = null;
|
BufferedReader in = null;
|
||||||
if(reader instanceof BufferedReader)
|
if(reader instanceof BufferedReader)
|
||||||
|
|
@ -84,8 +115,8 @@ public class IOUtil {
|
||||||
str.append(line).append("\n");
|
str.append(line).append("\n");
|
||||||
}
|
}
|
||||||
str.delete(str.length()-1, str.length()); // remove last new line
|
str.delete(str.length()-1, str.length()); // remove last new line
|
||||||
in.close();
|
|
||||||
|
|
||||||
|
if (close) reader.close();
|
||||||
return str.toString();
|
return str.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -162,10 +162,7 @@ public class FileUtil {
|
||||||
return new String(getByteContent(file));
|
return new String(getByteContent(file));
|
||||||
}
|
}
|
||||||
public static byte[] getByteContent(File file) throws IOException {
|
public static byte[] getByteContent(File file) throws IOException {
|
||||||
InputStream in = new FileInputStream(file);
|
return IOUtil.readContent(new FileInputStream(file), true);
|
||||||
byte[] data = IOUtil.readContent(in);
|
|
||||||
in.close();
|
|
||||||
return data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -175,9 +172,7 @@ public class FileUtil {
|
||||||
* @return the file content
|
* @return the file content
|
||||||
*/
|
*/
|
||||||
public static String getContent(URL url) throws IOException{
|
public static String getContent(URL url) throws IOException{
|
||||||
InputStream in = url.openStream();
|
String data = new String(IOUtil.readContent(url.openStream(), true));
|
||||||
String data = new String(IOUtil.readContent(in));
|
|
||||||
in.close();
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,8 @@ public class SOAPClientInvocationHandler implements InvocationHandler {
|
||||||
request.setURL(url);
|
request.setURL(url);
|
||||||
request.setData(reqXml);
|
request.setData(reqXml);
|
||||||
HttpHeaderParser response = request.send();
|
HttpHeaderParser response = request.send();
|
||||||
String rspXml = IOUtil.readContentAsString( request.getResponseReader());
|
String rspXml = IOUtil.readContentAsString(request.getResponseInputStream());
|
||||||
|
request.close();
|
||||||
|
|
||||||
// DEBUG
|
// DEBUG
|
||||||
if( logger.isLoggable(Level.FINEST) ){
|
if( logger.isLoggable(Level.FINEST) ){
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ public class PluginManager<T> implements Iterable<PluginData>{
|
||||||
log.fine("Searching for plugins...");
|
log.fine("Searching for plugins...");
|
||||||
for(FileSearcher.FileSearchItem file : search){
|
for(FileSearcher.FileSearchItem file : search){
|
||||||
try {
|
try {
|
||||||
DataNode node = JSONParser.read(IOUtil.readContentAsString(file.getInputStream()));
|
DataNode node = JSONParser.read(IOUtil.readContentAsString(file.getInputStream(), true));
|
||||||
log.fine("Found plugin: "+file.getPath());
|
log.fine("Found plugin: "+file.getPath());
|
||||||
PluginData plugin = new PluginData(node);
|
PluginData plugin = new PluginData(node);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue