【问题标题】:Java read file by command line, <(less than) symbolJava通过命令行读取文件,<(小于)符号
【发布时间】:2016-01-10 15:55:45
【问题描述】:

我正在尝试通过命令行读取文件名,

这是教授要我们输入的命令:

java MultiBinaryClient xxxxxx.edu 6001 < files.txt

我试图使用 args[3] 来获取文件名,但 args 仅包含 "xxxxxx.edu""6001"。为什么"&lt;""files.txt" 不在args[] 中?谁能帮帮我?

顺便说一句,我正在使用MAC终端测试我的代码,我相信我的教授使用win CMD,会有所不同吗?

谢谢!

【问题讨论】:

    标签: java cmd terminal command-line-arguments


    【解决方案1】:

    让我们看看每个片段的含义。这就是我们执行包含main 方法的Java 类的方式:

    java MultiBinaryClient
    

    传递给程序的唯一命令行参数是这些:

    xxxxxx.edu 6001
    

    而且这个 sn-p 不是 Java 程序预期参数的一部分:

    < files.txt
    

    指定files.txt 的内容必须通过标准输入读入程序,这只是 Unix shell 语法。

    【讨论】:

      【解决方案2】:

      我知道这是一个老问题,但我最近遇到了这个问题。这是我为处理它所做的:

      好吧,正如其他人所说,“

      xargs -a FILE java JAVA_ARGS
      

      或者,更具体地说:

      xargs -a FILE java -cp CLASSPATH CLASS_WITH_MAIN_METHOD
      

      【讨论】:

        【解决方案3】:

        【讨论】:

          【解决方案4】:

          你应该转义'

          java MultiBinaryClient xxxxxx.edu 6001 \< files.txt
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-05-14
            • 1970-01-01
            • 2021-06-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-04-11
            • 2013-07-17
            相关资源
            最近更新 更多