java - 从命令行获取参数

标签 java parsing command-line-arguments

我编写了以下代码,用于将几行代码扫描为字符串并将其解析为整数。但是在我的主要方法中,我使用 p.letsReadIn 来读入文件。有谁知道我如何将其转换为使用命令行参数而不是接收文件?因此,与其让用户更改 p.letsReadIn("ReadMuah.txt");每次,他们都可以使用命令行来读取文件。

public void letsReadIn(String filename) throws FileNotFoundException {
        int x;
        Scanner scan = new Scanner(new File(filename));

        StringTokenizer st;
        String nextLine = scan.nextLine();

        st = new StringTokenizer(nextLine);

        x = Integer.parseInt(st.nextToken());

        nextLine = scan.nextLine();

        st = new StringTokenizer(nextLine);

        y= Integer.parseInt(st.nextToken());

        nextLine = scan.nextLine();

        st = new StringTokenizer(nextLine);

        z= Integer.parseInt(st.nextToken());

        for (int i = 0; i < x; i++) {
            nextLine = scan.nextLine();
            st = new StringTokenizer(nextLine);
            listing.add(Integer.parseInt(st.nextToken()));
        }

        scan.close();
    }
    public static void main(String[] args) throws FileNotFoundException {

        BagItems p = new BagItems();
        p.letsReadIn("ReadMuah.txt");
        p.StartBagging();

    }

最佳答案

main() 方法的String[] args 参数是命令行参数。如果您将文件名放在命令行中,它将位于该数组中。

关于java - 从命令行获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20600529/

相关文章:

python3 glob.glob 正则表达式只得到第一个匹配项

perl - 如何将 @ARGV 的元素分配给 $variable,然后打印它?

java - 所有组件的一个 Listener 实例 每个组件一个实例

java - 使用抽象子类设置 super 属性

java - CSV 语法的 ANTLR4 监听器会导致大文件出现 OutOfMemoryError

objective-c - 将 Plist (NSString) 解析为 NSDictionary

python - 如何从其他网站获取数据?

c - 如何在 C 中为输入和输出文件运行命令行参数

java - 检测数组中的非空引用

java - Java 错误 :cannot find Symbol 中的多态性