我认为正确的术语是“管道”,但我希望有人能确认/纠正这一点。
本质上,我想将我的程序设置为在绘图程序或文本编辑器中打开要查看的文件(因此我不必在命令行中键入它)。
有这样做的好方法吗?到目前为止,我只打开和关闭了文件,所以我不确定从哪里开始在程序中打开它们。
我认为正确的术语是“管道”,但我希望有人能确认/纠正这一点。
本质上,我想将我的程序设置为在绘图程序或文本编辑器中打开要查看的文件(因此我不必在命令行中键入它)。
有这样做的好方法吗?到目前为止,我只打开和关闭了文件,所以我不确定从哪里开始在程序中打开它们。
听起来你想要Process类。
进程 p = Runtime.getRuntime().exec("记事本 C:\boo.txt");
这将在进程中启动程序“记事本”,并为其提供参数“C:\boo.txt”(在本例中,将使用记事本打开该文件)。如果您要做的只是启动程序,那么一旦您进入,您就完成了。如果您希望使用命令行输入/输出,您可以使用进程的流,例如:
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream())); PrintWriter stdOut = new PrintWriter(p.getOutputStream());
记事本示例是特定于 Windows 的,但无论如何想法都是相同的。传递给的字符串exec()
将像在您机器上的操作系统的命令行上输入一样运行。
还可以查看 AWT 的Desktop-Class,它可用于打开与特定文件类型关联的程序。
如果你想从你的 java 程序处理一个文件,你可以简单地在从命令行调用它时将文件的路径/名称提供给 Java 程序。请注意,当您执行 Java 应用程序时:
java MyApp fileName true
这些参数作为传递给 main 方法的参数进入您的应用程序。
class MyApp {
public static void main(String[] args) {
String nameOfFileOrSomething = args[0];
String booleanForSomethingOrAnother = args[1];
}
}
这是你的追求吗?