【问题标题】:Java - Possible main method arguments in windowsJava - Windows 中可能的主要方法参数
【发布时间】:2019-01-13 21:28:36
【问题描述】:

我想知道main方法的参数String[] args和用指定程序打开文件的可能性之间是否有任何联系。 考虑到我写了一个简单的程序,它记下args 的每个字符串,然后用这个程序打开了一些文件(我使用的是 windows)。
这就是发生的事情:
无论我用我的程序打开什么样的文件(右键单击 -> 打开方式...),args只包含一个字符串,它是文件的完整路径。
当我自己运行程序时,args 的长度为 0。

现在我的问题是:args 中是否可能包含任何其他字符串,或者以下代码是否总是可以毫无疑问地工作? (我想在 Windows 上使用它,而不是像 java MyProgram 1 2 3 "test" 那样玩弄它

public static void main(String[] args) {

    initProgram();

    if (args.length != 0) {            //file opened with program
        loadFile(new File(args[0]));
    }
}

感谢您的回答,请耐心等待我的英语。

【问题讨论】:

  • 打开一个文件时只会收到一个参数,尝试将两个文件拖到一个Jar文件的顶部看它是否收到很多?
  • 如果您尝试一次启动多个文件(不是作为参数的列表)窗口将为每个文件启动一个新的程序实例,您应该查看是否可以在同一个文件上监听第二个文件进程(就像 GIMP 对许多文件所做的那样)

标签: java windows file startup main-method


【解决方案1】:

就像 Marcos Vasconcelos 假设的那样:通过一次打开多个文件 args 将包含 所有文件的路径 试图打开,所以 args 可以大于一个字符串。它的长度取决于程序要打开的文件数量。

【讨论】:

    猜你喜欢
    • 2020-05-11
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多