Javaコンソールの出力(System.out.println
とそのilkで生成)をファイルにパイプしたいと思っています。私はJavaトレースを有効にするための優れた解決策hereを見つけましたが、これは私のためには機能しません(Mac OS XまたはWindowsの任意の場所にログファイルが表示されません)。私が知ることから、これはJava Web Startを使用しない単純なJavaアプリケーションを使用しているためです。どうすればJava Web Startを使用しないJavaコードでこれを行うことができますか?理想的には、コードを変更する必要がないソリューションが欲しいです。Java Consoleの出力をJava Web Startなしでファイルにパイプする方法はありますか。
答えて
これを行うにはJava Web Startは必要ありません。 System.out
をFileOutputStream
に設定するだけです。
fileName
あなたはパイプにしたいファイルのフルパスです
System.setOut(new PrintStream(new FileOutputStream(fileName)));
。
public static void main(String[] args) throws Exception { //Read user input into the array
System.setOut(new PrintStream(new FileOutputStream("home.txt")));
System.out.println("hello");
}
は、現在の作業ディレクトリにhome.txt
という名前のファイルにhello\n
を書き込みます。
コードを変更できない場合は、Windows 7でcommand redirectionを使用してください。あなたはjarファイルを実行する必要がある場合
java YourMainClass > home.txt
は、あなたがjava application launcherの-jar
オプションを使用することができます。
java -jar /your/path.jar > /output/file/path.txt
'YourMainClass'が何を参照しているのか分かりません。それはコンパイルされたjarファイルなのでしょうか? – Thunderforge
@Thunderforge瓶がある場合は、jarコマンドを実行します。 'main()'クラスを持っているなら、直接実行してください。 –
提案したように 'java'の代わりに' jar'コマンドを実行しようとしましたが、 'jar /Applications/Test.app/Contents/Resources/Java/jar_0.jar>〜/ Desktop/Test.txt'は'違法なオプション:/ 'そして受け入れ可能なパラメータについての情報がたくさんありますが、どれもすぐには関係がないようです。 – Thunderforge
Is there any way that I can do it without modifying code? I'd like to do it for an application that is already compiled.
あなたは、コードを変更せずにそれをしたい場合は、あなたの最良の選択肢はこれです:
$ java com.example.MyMainClass > filename
'$ java/Applications/Testを試しました。アプリケーション>〜/デスクトップ/ Test.txt'をターミナルのMac OS Xで実行していますが、「エラー:メインクラスを見つけられませんでした.Applications.Test.app」 – Thunderforge
@Thunderforge - これは、パス名。ヒント:クラス名にはスラッシュがありません。これがあなたを混乱させている場合は、 'java'コマンドのマニュアル項目を読んでください。 –
私は2年半前に思っていたことから、私は 'some.pkg.App'がOS Xアプリの名前であると混乱していました。 Windows .exe)。私はMac OS Xアプリケーションとしてパッケージ化されたJavaアプリケーションを実行していたので、これが私が試したことです。私はこの混乱を排除するためにあなたの例を明確にしました。 – Thunderforge
あなたは、コマンドラインから起動した場合、その後、あなたがstdoutとstderrをリダイレクト使用することができますファイルに次のように:あなたが持っている
java -jar application.jar >file.txt 2>&1
がapplication.jarにを交換するにアプリケーションのjarファイルを追加します。
- 1. Java Web Startでの入出力
- 2. Java Web Startデプロイのアプリケーションロジックはどこにありますか?
- 3. Java - Java Web Startでアクセス権を取得する方法
- 4. Java Web Start使用時にファイルが見つかりません
- 5. iPadでJava Web Start
- 6. Java Web Start。ステップバイステップ
- 7. ファイル名をtarにパイプする方法はありますか?
- 8. Javaデータ型をコンソールに出力する方法はありますか?
- 9. svn cat出力をneditにパイプする方法はありますか?
- 10. のJava Web Startの
- 11. Java ServletからHTML <img>としてファイルに画像を出力する方法はありますか?
- 12. サブディレクトリとパイプ入力を出力ファイルにループする方法
- 13. Java 7をサポートしていないJava Web StartをJava 6に制限する方法
- 14. Ajax/javaスクリプトでWebページにシステムログを出力する方法
- 15. Java Web StartのエラーにFileNotFoundException
- 16. バイナリデータをJavaでファイルに出力する方法は?
- 17. JavaでのXML出力 - DOMImplementationLSには何がありますか?
- 18. Java Swingセルフアップデータの作成方法(Java Web Start以外のソリューション)?
- 19. Java Web Appの出力をプロファイルして理解する方法
- 20. Java出力コンソールのエラーメッセージをファイルに出力しますか?
- 21. 単純なJava Webサーバーですが、出力はありません
- 22. Java Web Startとメインクラス
- 23. Java Web Start Jar Access
- 24. Java 7アップデート25では、Java Web Startアプリケーションがログなしで失敗する
- 25. Javaアプリケーションを検出する方法はありますか?
- 26. JavaのWebサービス呼び出しにCookieを手動で追加する方法はありますか。
- 27. メソッドの結果をJavaでファイルに出力する方法
- 28. Javaロガーの出力をデフォルトでファイルに取得する方法
- 29. Java Web StartアプリがOutOfMemoryErrorでクラッシュする
- 30. Java Web Startでファイル操作が機能しない
'System.setOut()' –
私はコードを修正することなくそれを行うことができる方法はありますか?私はそれを再コンパイルせずに、既にコンパイルされたアプリケーションのためにしたいと思います。 – Thunderforge