Javaでコンソール出力を文字列にリダイレクトする
2023-07-30 07:46:20
質問
あるメソッドがあり、その
が返されるメソッドがあります。
void
で、コンソールに直接表示されます。
しかし、私はそれを扱うことができるように、その出力を文字列で必要とします。
戻り値の型を持つメソッドに変更を加えることができないので
void
その出力をStringにリダイレクトする必要があります。
どのように私はJavaでそれをリダイレクトすることができますか?
どのように解決するのですか?
もし、この関数が
System.out
に出力しているならば、その出力を
System.setOut
メソッドを使って
System.out
に行くように
PrintStream
に移動します。もし、あなたが
PrintStream
に接続された
ByteArrayOutputStream
であれば、その出力を
String
.
例です。
// Create a stream to hold the output
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);
// IMPORTANT: Save the old System.out!
PrintStream old = System.out;
// Tell Java to use your special stream
System.setOut(ps);
// Print some output: goes to your special stream
System.out.println("Foofoofoo!");
// Put things back
System.out.flush();
System.setOut(old);
// Show what happened
System.out.println("Here: " + baos.toString());
このプログラムは1行だけ表示します。
Here: Foofoofoo!
関連
-
Junitのユニットテストはjava.lang.Testを報告します。
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
NullPointerException - java.lang.
-
スレッド "main "での例外 java.util.NoSuchElementException in Java 問題解決済み
-
が 'X-Frame-Options' を 'sameorigin' に設定したため、フレーム内に存在する。
-
java -jarコマンドでパッケージを実行すると、無効または破損したjarfile xxxx.jarが表示される。
-
シェルコマンドやスクリプトのJavaコール
-
X11 DISPLAY変数が設定されていない」問題の解決方法
-
eclipse にリソースリーク:'in' が閉じない
-
Javaがエラーで実行される、選択が起動できない、最近起動したものがない
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
-
java 365*1000*60*60*24 計算問題