JNLPを使用して、私はこの行を持っています:
File_Save_Service.saveFileDialog(null,null,new StringBufferInputStream("testing"),null);
この行でStringBufferInputStreamをStringReaderに置き換える方法は? StringBufferInputStreamのAPIは、StringReaderを使用する方がよいと言っていますが、異なるタイプ間で変換するにはどうすればよいですか?
FileSaveService.saveFileDialogは、リーダーではなくInputStreamを受け取ります(文字データではなくバイナリデータが必要なため)。
StringBufferInputStreamは、文字をバイトに適切に変換しないため、非推奨になりました。
代わりにByteArrayInputStreamを使用できます。
new ByteArrayInputStream("the string".getBytes("UTF-8"))
標準のJavaクラスライブラリは、Reader
をInputStream
としてラップする方法を提供していませんが、次のSO質問とその答えはいくつかの解決策を提供します。細字を読むように注意してください!
リーダーをInputStreamに変換し、ライターをOutputStreamに変換する方法は?
ただし、取得したものに固執するか(これが単なる単体テストコードである場合は...見た目どおり)、またはStringInputStream
をByteArrayInputStream
に置き換える方が簡単です。 @Thiloの回答で説明されているように。