【问题标题】:Compile java program编译java程序
【发布时间】:2015-12-31 18:52:06
【问题描述】:

在编译 java 程序时,您通常使用java programName。 下面一行是什么意思?

java BinarySearch whitelist.txt < input.txt这2个txt文件在做什么(是输入输出文件)什么是

谢谢

【问题讨论】:

  • 编译不用javac fileName吗?
  • sry 对于混淆,whitelist.txt
  • java JavaProgramName 用于运行一个未编译的程序。
  • 这与Java(或编译,就此而言)无关。它说你想运行一个带有两个参数的程序java,“BinarySearch”和“whitelist.txt”,程序的标准输入来自文件input.txt的内容。这在功能上都是 bash(或 zsch),而不是 Java。
  • 所以 stdIn 来自 input.txt,然后输出被写入 whitelist.txt。对吗?

标签: java compilation command pipe line


【解决方案1】:

在这种情况下,< 字符会将标准输入重定向到input.txt 文件。这意味着System.in 将代表文件,而不是控制台输入。使用> 字符会将标准输出重定向到文件,因此System.out 将代表文件,而不是控制台输出。这些字符不是由 java 虚拟机解释的,而是由 shell 解释的。

由于whitelist.txt前面没有特殊字符,它只是作为java程序的一个参数,并将存储在args[0]中(或程序中命名的任何参数变量)。

顺便说一句,使用java program 命令不会编译java文件,而是运行编译好的class文件。要编译 java 文件,请使用 javac file.java 命令。

【讨论】:

    【解决方案2】:

    **BinarySearch 之后的 args* 是程序的输入。

    如代码文档所示,< 用于从 StdIn 进行重定向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-18
      • 2021-01-29
      • 1970-01-01
      • 2012-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      相关资源
      最近更新 更多