我正在通過使用JSCH通過SFTP服務器將文檔保存到網絡驅動器。在這我有一個這樣的一些方法來保存文件,它需要兩個參數inputStream
和path to save the stream into a file which is a string.
。如何關閉未由InputStream定義但直接在方法內部使用的Inputstream?
String message="I am saving this file to the shared drive";
channelSftp.put(new ByteArrayInputStream(message.getBytes()),pathFromChannel+"/"+"file.txt");
所以,在上面的代碼,我直接用
1. new ByteArrayInputStream(message.getBytes())
,而不是將其分配給某些InputStream的即
2 .InputStream in=new ByteArrayInputStream(message.getBytes());
如果我做這樣的事我可以關閉這個Stream通過做is.close();
。但是如何直接使用而不定義它時如何關閉Inputstream
或outputStream
?或者我不需要關閉它?
你爲什麼不把它分配給一個變量,在通過它,然後將其關閉?此外,byteareaysyreams不需要關閉 – Bohemian
因此,將流分配給某些變量而不是直接使用它是最佳做法嗎? – SRy