-2

我有一个带有 main 方法的 .java 类文件,它产生一个文件“output.txt”。

我想用Java编写一个程序来编译并运行它,以便将给定Java类生成的文件“output.txt”输出到指定的文件夹。如何才能做到这一点?

我可以编译并运行它,但我无法cd在 Java 中创建类似命令的东西。不允许在 Java 中显示绝对类。

4

2 回答 2

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)

于 2012-05-08T22:38:28.000 回答
0

我想用Java编写一个程序来编译并运行它,以便将给定Java类生成的文件“output.txt”输出到指定的文件夹。如何才能做到这一点?

让我们直截了当:

  • 现有的 Java 应用程序在某处A输出一个文件output.txt……。您无法更改该应用程序。
  • 您想编写一个应用程序,该应用程序以您可以控制写入的目录的方式B运行。Aoutput.txt

问:可以做吗?

A:这取决于如何A打开输出文件。

  • 如果A使用文件的相对路径名;例如new FileWriter(new File("output.txt")),它可以完成;见下文。

  • 如果A使用文件的绝对路径名;例如new FileWriter(new File("/output.txt")),那么它就无法完成。没有实用的方法可以A将文件放在其他地方。(我不会说这在理论上是不可能的,但你需要诉诸任何理智的开发人员都不会认真考虑做的事情。)

您如何处理相对情况是在启动它时B使用ProcessBuilder指定不同的当前目录javadoc有一个例子涵盖了这一点A;查找示例中的使用 ... 及其规范。setDirectory

(注意:您也可以通过运行更改目录并运行命令的外部脚本来执行此操作。但这种方法涉及特定于平台的内容,如果您希望代码可移植,则应避免使用。)

于 2012-05-08T22:59:52.330 回答