从txt文件中获取所有文本,然后打印到控制台

时间:2018-08-06 18:17:17

标签: java

我有一个文本文件,其中文本文件看起来像output.txt

  | Component  | Tests Run   | Tests Failed                                   |
  |:-----------|:-----------:|:-----------------------------------------------|
  | Server     | 948         | :white_check_mark: 0                           |
  | Web Client | 123         | :warning: 2 [(see details)](http://linktologs) |
  | iOS Client | 78          | :warning: 3 [(see details)](http://linktologs) |

在这里,我的工作目的是将所有代码推送到某个地方,以便使其像表格一样显示 我想从文本文件中读取所有文本,然后一起打印文本。

当前逐行打印

try {
                FileReader reader = new FileReader("C:\\Users\\Zsbappa\\Pictures\\test\\output.txt");
                int line;

                while ((line = reader.read()) != -1) {
                    System.out.print((char) line);
                }
                reader.close();

            } catch (IOException e) {
                e.printStackTrace();
            }

任何建议都会很感激

3 个答案:

答案 0 :(得分:2)

如果您使用的是Java 8或更高版本,请以流的形式阅读它们:

Files.lines(Paths.get("C:\\Users\\Zsbappa\\Pictures\\test\\output.txt")).forEach(System.out::println);

答案 1 :(得分:1)

尝试使用:

checknumbersinDecimals(new BigDecimal(String.valueOf(12.3)),new BigDecimal(String.valueOf(12.2)));

IOUtils类是Apache Commons IO的一部分。可以下载here

答案 2 :(得分:1)

根据您的问题,您想一次读取所有文件 ,但只能逐行打印 < / strong>。我不确定您为什么要这样做,但这应该可行:

    try {
        File file = new File("C:\\Users\\Zsbappa\\Pictures\\test\\output.txt");
        FileInputStream fis = new FileInputStream(file);
        byte[] data = new byte[(int) file.length()];
        fis.read(data);
        fis.close();

        String str = new String(data, "UTF-8");

        String lines[] = str.split("\\r?\\n");
        for (String line : lines) {
            System.out.println(line);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

这对于大型文本文件而言效率非常低,并且会占用您的RAM,但这是我可以针对您的特定问题想到的最佳解决方案。

还请记住导入FileFileInputStream,因为它们是您正在使用的新的标准库依赖项。