ファイル「output.txt」を生成するメインメソッドを持つ.javaクラスファイルがあります。
特定のJavaクラスで生成されたファイル「output.txt」を、指定したフォルダに出力するようにコンパイルして実行するプログラムをJavaで作成したいと考えています。これはどのように行うことができますか?
cd
コンパイルして実行することはできますが、Java でコマンドのようなものを作成することはできませんでした。Java で絶対クラスを表示することはできません。
ファイル「output.txt」を生成するメインメソッドを持つ.javaクラスファイルがあります。
特定のJavaクラスで生成されたファイル「output.txt」を、指定したフォルダに出力するようにコンパイルして実行するプログラムをJavaで作成したいと考えています。これはどのように行うことができますか?
cd
コンパイルして実行することはできますが、Java でコマンドのようなものを作成することはできませんでした。Java で絶対クラスを表示することはできません。
特定のJavaクラスで生成されたファイル「output.txt」を、指定したフォルダに出力するようにコンパイルして実行するプログラムをJavaで作成したいと考えています。これはどのように行うことができますか?
これをまっすぐにしましょう:
A
はファイルを出力しますoutput.txt
... どこかに。そのアプリケーションを変更することはできません。B
実行されるアプリケーションを作成したいとします。A
output.txt
Q:それはできますか?
A:A
出力ファイルの開き方によって異なります。
ファイルの相対A
パス名を使用する場合。たとえば、それを行うことができます。下記参照。new FileWriter(new File("output.txt"))
ファイルの絶対パス名をA
使用する場合。たとえば、それはできません。ファイルを別の場所に配置する実際的な方法はありません。(理論的に不可能だとまでは言いませんが、正気の開発者が真剣に考えようとしないことに頼る必要があります。)new FileWriter(new File("/output.txt"))
A
相対ケースに対処する方法は、をB
使用して、起動時に別の現在のディレクトリをProcessBuilder
指定することです。javadocには、これをカバーする例があります。例の中の ... の使用とその仕様を探してください。A
setDirectory
(注: ディレクトリを変更してコマンドを実行する外部スクリプトを実行することによってもこれを行うことができます。ただし、その方法にはプラットフォーム固有のものが含まれるため、コードを移植可能にしたい場合は避ける必要があります。)
File
指定されたフォルダーを指すオブジェクトを作成します。
次にnew File(file, "output.text")
、上記のフォルダに「output.txt」を参照するファイル オブジェクトを作成するために使用します。http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#File(java.io.File, java.lang.String)を参照してください。