13

出力ストリームの内容をどのように読み取ったり使用したりできますか。私の場合、署名付きのメソッドを使用しています。

public static OutputStream decryptAsStream(InputStream inputStream, String encryptionKey)

このメソッドは OutputStream を返します。OutputStream を String に取得したい。出力をjava.io.OutputStreamからJavaの文字列にパイプすることは可能ですか?

4

4 に答える 4

9

次のようなことができます:

  OutputStream output = new OutputStream()
    {
        private StringBuilder string = new StringBuilder();
        @Override
        public void write(int x) throws IOException {
            this.string.append((char) x );
        }

        public String toString(){
            return this.string.toString();
        }
    };
于 2013-08-03T05:36:58.510 に答える
0

OutputStreamからを取得した場合は、ブラウザに返される応答にresponseの内容を書き込むことができます。OutputStreamサンプルコード:

OutputStream outStream = response.getOutputStream();
response..setHeader("Content-Disposition", "attachment; filename=datafile.xls");
response.setContentType("application/vnd.ms-excel");
byte[] buf = new byte[4096];
int len = -1;
while ((len = inStream.read(buf)) != -1) {
    outStream.write(buf, 0, len);
}

outStream.flush();
outStream.close();

これを読んでください: Content-Disposition:「インライン」と「添付ファイル」の違いは何ですか?


あなたの場合、メソッド定義は次のとおりです。

public static OutputStream decryptAsStream(InputStream inputStream,
                                            String encryptionKey)

OutputStreamしたがって、そのメソッドから次のように取得できます。

OutputStream os = ClassName.decryptAsStream(inputStream,encryptionKey);

そして、を使用しosます。

于 2013-08-03T05:30:25.930 に答える