java - 如何增加 Windows 命令提示符中的命令行参数大小或限制

标签 java command-line-arguments phantomjs casperjs

嗨,我创建了一个JAVA程序,它使用ProcessBuilder启动命令提示符,java将带有一些参数的命令传递到控制台,然后命令提示符负责处理命令,一切正常,直到命令行参数太长。实际上,我使用 phantomjs 作为命令,并将多个 url 作为参数传递给命令提示符。 例如:Java生成的字符串-

phantomjs download.js --url=http://google.com、http://yahoo.com、http://website.com.......http://demo.com

当我传递 100 个 url 时,它工作正常,但当增加到 1000 个 url 时,它不起作用。我知道,这是因为参数缓冲区大小而发生的。当我尝试传递 1000 个 url 时,它超出了 Windows 命令行的最大字节限制。因此,还有其他方法可以将此值传递到文件中,或者我们可以增加命令行参数的限制吗?

请给我一些解决方案。

最佳答案

为什么不只传递文件名作为参数? 目标文件包含 url 列表(JSON.stringify 或只是每行一个)

例如

var system = require('system');
var fs = require('fs');
var args = system.args;

if (args.length === 1) {
  console.log('download.js <filename>');
  phantom.exit(1);
} else {
    var filename = args[1];
    var stream = fs.open(filename, 'r') 

    var line;
    while(line=stream.readLine()) {
        //do want you want here
        console.log(line);
    }

    phantom.exit(0);
}

运行

>phantomjs download.js mytestfile.txt

关于java - 如何增加 Windows 命令提示符中的命令行参数大小或限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20239755/

相关文章:

javascript - 具有旋转代理的 Phantomjs/Casperjs?

javascript - 使用 PhantomJS 将多个页面渲染为 pdf 文件

java - 关于静态方法重写

java - Java泛型中有联合吗?

java - 是否可以在 Eclipse 中用条形图分隔命令参数?

java - 从类型获取自动框类

c# - 我可以使用 .NET Remoting 进行控制台应用程序和由同一控制台应用程序创建的进程之间的通信吗?(两者都在同一台服务器上)

javascript - 如何在Phantomjs中注入(inject)jquery(js)?

java - 如何在java中做并集、相交、差集和反转数据

java - 表达式的类型必须是数组类型但它解析为 Card