无法读取文件的第一行

用户名

我想读取/ etc / passwd文件的内容并获取一些数据:

public void getLinuxUsers()
    {
        try
        {
            // !!! firstl line of the file is not read
            BufferedReader in = new BufferedReader(new FileReader("/etc/passwd"));
            String str;
            str = in.readLine();
            while ((str = in.readLine()) != null)
            {
                String[] ar = str.split(":");
                String username = ar[0];
                String userID = ar[2];
                String groupID = ar[3];
                String userComment = ar[4];
                String homedir = ar[5];

                System.out.println("Usrname " + username + 
                        " user ID " + userID);
            }
            in.close();
        }
        catch (IOException e)
        {
            System.out.println("File Read Error");
        }
    }

我注意到两个问题:

该文件的第一行未读取根帐户信息。我以这种方式开始:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

以及如何修改代码以使用Java 8 NIO?我想先检查文件是否存在,然后再继续阅读内容。

奥斯卡·洛佩兹(Oscar Lopez)

问题是,第一个readLine()外部的,其中正在处理字符串的循环,你应该删除这个:

str = in.readLine();

…因为在下一行(带有的行while)中,您正在重新分配str变量,所以这就是第一行丢失的原因:循环的主体从第二行开始处理。最后,要使用Java nio,请执行以下操作:

if (new File("/etc/passwd").exists()) {
    Path path = Paths.get("/etc/passwd");
    List<String> lines = Files.readAllLines(path, Charset.defaultCharset());
    for (String line : lines) {
        // loop body, same as yours
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Pandas无法读取csv文件的第一行

来自分类Dev

无法读取CSV文件的第一行

来自分类Dev

无法在文件的第一行 parseInt

来自分类Dev

正在将文件读入Struct,但无法读取文件中的第一行

来自分类Dev

从文件读取,但是读取的第一行是错误的

来自分类Dev

Python:无法使用read_csv正确读取csv文件的第一行

来自分类Dev

bash脚本无法读取第一行

来自分类Dev

读取Clojure中的文件并忽略第一行?

来自分类Dev

r不读取csv文件的第一行

来自分类Dev

Java-仅读取文件的第一行

来自分类Dev

读取CSV文件(第一行除外)

来自分类Dev

循环仅读取文件的第一行

来自分类Dev

C#读取excel文件忽略第一行

来自分类Dev

python代码不读取文件中的第一行

来自分类Dev

不编码读取文件的第一行

来自分类Dev

程序只读取csv文件的第一行

来自分类Dev

读取并删除txt文件中的第一行(或最后一行),而不进行复制

来自分类Dev

无法使用Apache POI读取Excel 2010文件。第一行编号为-1

来自分类Dev

从文件读取,但是我无法打印最后一行?

来自分类Dev

C ++从文件读取-文件的第一行被跳过,最后一行被重复两次

来自分类Dev

从csv文件中读取第一行并根据它创建表(csv文件字段)

来自分类Dev

不要读取awk命令文件中文件的第一行

来自分类Dev

读取文件的第一行并将其与外壳文件中的字符串进行比较

来自分类Dev

awk:在读取行之前打印文件的第一行

来自分类Dev

读取没有行终止符的文件的第一行

来自分类Dev

如何从文件中读取第一行作为值,第二行作为字典的键

来自分类Dev

在python中读取bz2文件的第一行

来自分类Dev

读取CSV文件作为字典,其中包含第一行作为标题(键)

来自分类Dev

StreamReader读取文件,StreamWriter写入结果,省略第一行吗?

Related 相关文章

  1. 1

    Python Pandas无法读取csv文件的第一行

  2. 2

    无法读取CSV文件的第一行

  3. 3

    无法在文件的第一行 parseInt

  4. 4

    正在将文件读入Struct,但无法读取文件中的第一行

  5. 5

    从文件读取,但是读取的第一行是错误的

  6. 6

    Python:无法使用read_csv正确读取csv文件的第一行

  7. 7

    bash脚本无法读取第一行

  8. 8

    读取Clojure中的文件并忽略第一行?

  9. 9

    r不读取csv文件的第一行

  10. 10

    Java-仅读取文件的第一行

  11. 11

    读取CSV文件(第一行除外)

  12. 12

    循环仅读取文件的第一行

  13. 13

    C#读取excel文件忽略第一行

  14. 14

    python代码不读取文件中的第一行

  15. 15

    不编码读取文件的第一行

  16. 16

    程序只读取csv文件的第一行

  17. 17

    读取并删除txt文件中的第一行(或最后一行),而不进行复制

  18. 18

    无法使用Apache POI读取Excel 2010文件。第一行编号为-1

  19. 19

    从文件读取,但是我无法打印最后一行?

  20. 20

    C ++从文件读取-文件的第一行被跳过,最后一行被重复两次

  21. 21

    从csv文件中读取第一行并根据它创建表(csv文件字段)

  22. 22

    不要读取awk命令文件中文件的第一行

  23. 23

    读取文件的第一行并将其与外壳文件中的字符串进行比较

  24. 24

    awk:在读取行之前打印文件的第一行

  25. 25

    读取没有行终止符的文件的第一行

  26. 26

    如何从文件中读取第一行作为值,第二行作为字典的键

  27. 27

    在python中读取bz2文件的第一行

  28. 28

    读取CSV文件作为字典,其中包含第一行作为标题(键)

  29. 29

    StreamReader读取文件,StreamWriter写入结果,省略第一行吗?

热门标签

归档