正しい用語は「パイピング」だと思いますが、誰かがこれを確認/修正してくれることを願っています.
基本的に、プロット プログラムまたはテキスト エディターでファイルを開いて表示するようにプログラムを設定したいと考えています (そのため、コマンド ラインに入力する必要はありません)。
これを行う良い方法はありますか?これまでのところ、ファイルを開いたり閉じたりしただけなので、プログラムでファイルをどこから開いたらよいかわかりません。
正しい用語は「パイピング」だと思いますが、誰かがこれを確認/修正してくれることを願っています.
基本的に、プロット プログラムまたはテキスト エディターでファイルを開いて表示するようにプログラムを設定したいと考えています (そのため、コマンド ラインに入力する必要はありません)。
これを行う良い方法はありますか?これまでのところ、ファイルを開いたり閉じたりしただけなので、プログラムでファイルをどこから開いたらよいかわかりません。
Processクラスが必要なようです。
プロセス p = Runtime.getRuntime().exec("notepad C:\boo.txt");
これにより、プロセス内でプログラム「メモ帳」が開始され、引数「C:\boo.txt」が与えられます (この例では、メモ帳を使用してそのファイルが開きます)。プログラムを起動するだけの場合は、これがあれば完了です。コマンド ラインの入力/出力で再生したい場合は、プロセスのストリームを使用できます。
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream())); PrintWriter stdOut = new PrintWriter(p.getOutputStream());
メモ帳の例は Windows 固有のものですが、考え方はいずれの場合も同じです。に渡された文字列はexec()
、マシンの OS のコマンド ラインで入力されたかのように実行されます。
また、特定のファイル タイプに関連付けられたプログラムを開くために使用できるAWT のDesktop-Classも参照してください。
Java プログラムからファイルを処理する場合は、コマンド ラインから Java プログラムを呼び出すときに、ファイルのパス/名前を Java プログラムに与えるだけです。Java アプリを実行するときは、次の点に注意してください。
java MyApp fileName true
これらの引数は、メイン メソッドに渡される引数としてアプリに渡されます。
class MyApp {
public static void main(String[] args) {
String nameOfFileOrSomething = args[0];
String booleanForSomethingOrAnother = args[1];
}
}
これはあなたの後ですか?