如何读取java中命令行参数中给出的文件?

vcirk6k6  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(251)

我想从文件中读取,程序从命令行参数中获取文件名(文件也是java文件),然后使用 java.nio.file.Files 以及 java.nio.file.Path 也许 吧。我应该读文件名使用的主要功能我不知道怎么做,有什么帮助plz?这实际上是我第一次用java编写代码,所以我遇到了很多困难

package firtJavaCode;

import java.io.*; 
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.StringTokenizer;
import java.lang.String ;

public class ReadFromFile {

    public static void main(String[] args) {
        try {
            //String filePath = "";   // here is my problem i don't know how to read from a giving file
            String line;
            BufferedReader br = new BufferedReader(new FileReader(filePath));
            int lineNumber = 0;
            while ((line = br.readLine()) != null) {
                lineNumber++;
                if  (line.contains("//")) {
                     StringTokenizer st1 =  new StringTokenizer(line, "//");            
                     System.out.println(st1.nextToken()); 
                }

                // i still didn't complete the code , just want to figure how to read from file first
            }
        }catch (Exception e) {
            System.out.println(e);
        }
    }
}
8zzbczxx

8zzbczxx1#

控制台中的字符串[]args数组中有一些参数。要获取文件名,我们假设您执行以下程序: java example /home/file.txt .

args[0] == "/home/file.txt"

所以文件路径保存在 args[0] 作为一个字符串已经这样你就不需要额外的 String filepath 在密码里。

BufferedReader br = new BufferedReader(new FileReader(args[0]));

所以基本上你在程序名后输入的参数都保存在 String args[] 数组。
我还将实现一种方法来检查是否只输入了文件路径,而不是像这样的其他垃圾:

if (args.length() > 0)
{
    System.out.println("Error! Too many arguments entered!");
}

相关问题