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