Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从txt文件中收集所有文本并打印到控制台_Java - Fatal编程技术网

Java 从txt文件中收集所有文本并打印到控制台

Java 从txt文件中收集所有文本并打印到控制台,java,Java,我有一个文本文件,其中的文本文件看起来像output.txt | Component | Tests Run | Tests Failed | |:-----------|:-----------:|:-----------------------------------------------| | Server | 948 | :white_check_mark: 0

我有一个文本文件,其中的文本文件看起来像
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();
            }
任何建议都将受到欢迎

尝试使用:

FileInputStream inputStream = new FileInputStream("output.txt");
try {
   System.out.println(IOUtils.toString(inputStream));
} finally {
    inputStream.close();
}
IOUtils类是apachecommons IO的一部分。可以下载它。

尝试使用:

FileInputStream inputStream = new FileInputStream("output.txt");
try {
   System.out.println(IOUtils.toString(inputStream));
} finally {
    inputStream.close();
}

IOUtils类是apachecommons IO的一部分。可以下载。

如果您使用的是Java 8或更高版本,请将其作为流阅读:

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

如果您使用的是Java 8或更高版本,请将其作为流读取:

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

根据您的问题,您希望同时阅读文件,但只逐行打印文件。我不确定您为什么要这样做,但这应该是可行的:

    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();
    }
这对于大型文本文件来说效率很低,并且会占用内存,但这是我能想到的解决您的特定问题的最佳解决方案


还记得导入
文件
文件输入流
,因为它们是您正在使用的新的标准库依赖项。

根据您的问题,您希望一次读取文件,但只逐行打印。我不确定您为什么要这样做,但这应该是可行的:

    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();
    }
这对于大型文本文件来说效率很低,并且会占用内存,但这是我能想到的解决您的特定问题的最佳解决方案



另外,请记住导入
文件
文件输入流
,因为它们是您正在使用的新标准库依赖项。

可能的重复项不是重复的,先生。我想把所有的文本放在一起。他们逐行阅读。在添加标志之前,你应该阅读细节。问题是什么?这段代码对我来说很有用,就像charmi想在一个变量中得到全文并打印出来一样。它的逐行打印可能是重复的,先生。我想把所有的文本放在一起。他们逐行阅读。在添加标志之前,你应该阅读细节。问题是什么?这段代码对我来说就像charmi希望在一个变量中获取全文并打印它一样..它的逐行打印它在线程“main”中抛出错误异常java.lang.OutOfMemoryError:java.util.Arrays.copyOf(Arrays.java:3332)在线程“main”中抛出错误异常java.lang.OutOfMemoryError:java.util.Arrays.copyOf(Arrays.java:3332)处的java堆空间实际上,我是一个按摩器,如果获取所有输出文件并发送它,它将像表一样格式化。这就是我的目的。它不是一个大的文本文件..让我们检查一下你的程序在线程“main”java.lang.NegativeArraySizeException的这一行中有一个异常字节[]数据=新字节[(int)file.length()];文件里有什么东西吗?它被破坏了吗?我不知道获取文件长度如何返回负数,除非您的文件有问题。类似outputI的相同文本只是编辑了我的解决方案以获得正确的
try
catch
,从而完成错误处理。我把你的
output.txt
文件复制到我的电脑上,并在上面运行程序。它印得很好。你确定你的文件没有损坏(或者路径没有弄乱)?事实上,我是一个按摩器,如果得到所有的输出文件并发送它,它将像表格一样格式化。这就是我的目的。它不是一个大的文本文件..让我们检查一下你的程序在线程“main”java.lang.NegativeArraySizeException的这一行中有一个异常字节[]数据=新字节[(int)file.length()];文件里有什么东西吗?它被破坏了吗?我不知道获取文件长度如何返回负数,除非您的文件有问题。类似outputI的相同文本只是编辑了我的解决方案以获得正确的
try
catch
,从而完成错误处理。我把你的
output.txt
文件复制到我的电脑上,并在上面运行程序。它印得很好。你确定你的车没有被损坏(或者道路没有被弄乱)吗?它工作得很好,但帮不了我。谢谢你的努力工作得很好,但帮不了我。谢谢你的努力