我正在尝试读取一个包含以下内容的简单文本文件:

加载

比尔豆

1200

20

15

30

放弃

我需要逐行存储和打印内容。 我正在使用以下代码:

    String inputFile = "(file path here)";
    try {
        Scanner input = new Scanner(inputFile);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    String currentLine = "";
    while (!currentLine.equals("QUIT}")){
        currentLine = input.nextLine();
        System.out.println(currentLine);
    }
    input.close();

但是,输出非常“混乱”。 我试图避免存储所有换行符以及文本文件中未出现的其他任何内容。 输出为:

{\\ rtf1 \\ ansi \\ ansicpg1252 \\ cocoartf949 \\ cocoasubrtf540

{\\ fonttbl \\ f0 \\ fmodern \\ fcharset0 Courier;}

{\\ colortbl; \\ red255 \\ green255 \\ blue255;}

\\ margl1440 \\ margr1440 \\ vieww9000 \\ viewh8400 \\ viewkind0

\\ deftab720

\\ pard \\ pardeftab720 \\ ql \\ qnatural

\\ f0 \\ fs26 \\ cf0加载\\

比尔的豆\\

1200 \\

20 \\

15 \\

30 \\

放弃}

任何帮助将不胜感激,谢谢!

===============>>#1 票数:2

看起来您正在读取RTF文件,不是这样吗?

否则,我发现使用此构造对我来说阅读文本文件是最自然的:

        BufferedReader reader = new BufferedReader(
                                    new FileReader(new File("yourfile.txt")
                                );
        String text = null;

        // repeat until all lines is read
        while ((text = reader.readLine()) != null) {
            // do whatever with the text line
        }

因为这是一个RTF文件,所以请查看以下示例: RTFEditorKit

===============>>#2 票数:0

如果您坚持要编写自己的RTF阅读器,则正确的方法是扩展FilterInputStream并在其实现中处理RTF元数据。

===============>>#3 票数:0

只需将以下代码添加到您的类中,然后使用path参数对其进行调用。 它返回所有行作为List对象

public List<String> readStudentsNoFromText(String path) throws IOException {
            List<String> result = new ArrayList<String>();

            // Open the file that is the first
            // command line parameter
            FileInputStream fstream = new FileInputStream(new File(path));
            // Get the object of DataInputStream
            DataInputStream in = new DataInputStream(fstream);
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String strLine;
            //Read File Line By Line
            while ((strLine = br.readLine()) != null) {
                // Print the content on the console
                System.out.println(strLine);
                result.add(strLine.trim());

            }
            //Close the input stream
            in.close();

            return result;
        }

  ask by pdon translate from so

未解决问题?本站智能推荐:

8回复

从文本文件和总数中读取数据

我想从充满整数的文本文件中读取数据,并让程序在求和时将这些整数打印到屏幕上。 这应该不难,但我无法弄清楚!!! 这是极其简化的文本文件: 这是我应该工作的代码: 最后,这是我得到的输出:
3回复

我如何让我的Java扫描仪从此文件中读取这些字符串?

我有这个输入文件: 当前,我正在做的是读取前两个项目(即int),并将它们添加到ArrayList中。 然后,我只想读取接下来的6行(不包括“ 8”),并将它们添加到数组中。 我将如何修改我的代码?
1回复

Java扫描程序验证返回第二个输入

我这里有一个函数,它可以在数字或范围内验证用户输入。 每次我使用此函数调用getNumberInput(int bound)方法 如果我插入一个超出范围的数字,可以说唯一的最大数字是5。getNumberInput(int bound)将再次调用自身。 当我插入正确或在界限值内
8回复

如何使用Java直接从Internet读取文本文件?

我试图从在线文本文件中读取一些单词。 我尝试过做这样的事情 但它没有用,我得到了 作为输出,我只想得到所有的话。 我知道他们在当天教我这个,但我现在不记得到底是怎么做的,非常感谢任何帮助。
2回复

Java逐行读取文本文件,但将行中的单词分隔成数组

我正在尝试编写一个查看文本文件的代码,并执行while循环,以便读取每一行,但是我需要每行中的每个单词都在数组中,以便可以执行一些if语句。 我目前遇到的问题是我的数组当前正在将文件中的所有单词存储在一个数组中..而不是数组中每行的所有单词。 这是我当前的一些代码:
2回复

当扫描仪读取文本文件时,创建对象数组

在上一个项目中,使用我的计算机类作为我的计算机类 ,我应该用Java编写一个程序,该程序读取计算机数据名称computers.txt的文件,并创建计算机对象数组,到目前为止,我已经有了这个程序。 现在我得到一个错误。 我做了 看看它是否在工作,但是我得到了那个错误 的c
3回复

使用Java中的扫描仪读取文本文件 - 令牌的返回字符

我正在试图在一个简单的Java程序中用java.util.Scanner读取下面的文本文件。 我使用下面的代码阅读文本文件: 结果是: 但是每一行的第三个标记的结果在末尾都有一个不方便的'\\ r''开头(ANSI代码13)。 我不知道为什么(我在格式化字符串上使用'。
2回复

如何从Java中的文本文件读取特定行?

我正在使用文件中的信息创建测验游戏。 文本文件将包含所有问题,答案和正确答案。 文本文件的结构如下: 使用从文件中读取的信息,我正在创建多个测验。 我将所有问题保存在一个数组中,将答案保存在另一个数组中,并将正确答案(重复)保存在另一个数组中。 有什么办法可以使用扫描仪转到文件中
1回复

NoSuchElementException:在文本文件中读取时找不到行

我正在制作一个文本冒险游戏,我在尝试阅读包含房间描述的文本文件时遇到了问题。 每当我运行程序时,我都可以正确读入并分配第一个文本文件,但第二个文件会抛出以下错误... 我完全不确定是什么造成了这种情况。 我试过移动东西,但无济于事。 下面是我正在调用房间对象本身的功能,以便为其分配
1回复

Java中的Scanner是否足以读取文本文件中的输入?

我要做什么 我将用Java构建电话簿程序来完成以下工作: 从两个文本文件中读取, instruction.txt和phonebook.txt phonebook.txt包含一些电话条目,每个条目代表一个人 Instruction.txt包含一些我将要执行到phon