我有一个带有 main 方法的 .java 类文件,它产生一个文件“output.txt”。
我想用Java编写一个程序来编译并运行它,以便将给定Java类生成的文件“output.txt”输出到指定的文件夹。如何才能做到这一点?
我可以编译并运行它,但我无法cd
在 Java 中创建类似命令的东西。不允许在 Java 中显示绝对类。
我有一个带有 main 方法的 .java 类文件,它产生一个文件“output.txt”。
我想用Java编写一个程序来编译并运行它,以便将给定Java类生成的文件“output.txt”输出到指定的文件夹。如何才能做到这一点?
我可以编译并运行它,但我无法cd
在 Java 中创建类似命令的东西。不允许在 Java 中显示绝对类。
创建一个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)
我想用Java编写一个程序来编译并运行它,以便将给定Java类生成的文件“output.txt”输出到指定的文件夹。如何才能做到这一点?
让我们直截了当:
A
输出一个文件output.txt
……。您无法更改该应用程序。B
运行。A
output.txt
问:可以做吗?
A:这取决于如何A
打开输出文件。
如果A
使用文件的相对路径名;例如new FileWriter(new File("output.txt"))
,它可以完成;见下文。
如果A
使用文件的绝对路径名;例如new FileWriter(new File("/output.txt"))
,那么它就无法完成。没有实用的方法可以A
将文件放在其他地方。(我不会说这在理论上是不可能的,但你需要诉诸任何理智的开发人员都不会认真考虑做的事情。)
您如何处理相对情况是在启动它时B
使用ProcessBuilder
指定不同的当前目录。javadoc有一个例子涵盖了这一点A
;查找示例中的使用 ... 及其规范。setDirectory
(注意:您也可以通过运行更改目录并运行命令的外部脚本来执行此操作。但这种方法涉及特定于平台的内容,如果您希望代码可移植,则应避免使用。)