当前位置: 首页 > 知识库问答 >
问题:

使用扫描仪从一个字符串到另一个字符串读取文件

葛桐
2023-03-14

我正在创建一个程序,在那里我必须阅读特殊的文本文件。我在将文本从指定的单词读入另一个指定的单词(不包括这些单词)时遇到问题。使用扫描仪是解决这个问题的好方法吗?我的意思是:

“文本1

课文2

课文3

文本4

文本5“

我想从它得到字符串与"文本2文本3文本4"。

我尝试使用useDlimeter,但我不知道如何将其应用于这种情况。我创建了一个允许我跳过行的方法,但从长远来看,这不是一个好的解决方案,它只适用于一个指定的文件。

这是我的方法之一,我想在这里实现

private String readFile3(File file) {
        try {
            Scanner sc = new Scanner(file);
            //skipLine(sc, 8);
            sc.useDelimiter("R");

            String sentence = sc.next();
            textAreaD.setText(sentence);

        } catch (FileNotFoundException e) {
            System.out.println("No file");
        }       
        return null;
    }

共有1个答案

乐正育
2023-03-14

这样的东西怎么样:

private String readFile3(File file) {
        try {
            Scanner sc = new Scanner(file);
            boolean save = false;
            String sentence = "";
            String temp = "";

            while (sc.hasNextLine()) {
                temp = sc.nextLine();
                if (sentence.contains("text1")) {
                    if (!save) {
                        temp = sc.nextLine();
                    }
                    save = true;
                }
                if (sentence.contains("text5")) {
                    save = false;
                }
                if (save) {
                    sentence = sentence + temp;
                }
            }
            // skipLine(sc, 8);
            //sc.useDelimiter("R");
             sentence = sentence.replaceAll("\\n", "");
             textAreaD.setText(sentence);

        } catch (FileNotFoundException e) {
            System.out.println("No file");
        }
        return null;
    }

应读出“text1”和“text5”之间的所有字符串。如果你想保存的话,也许你需要做更多的格式化,检查“text1”是否出现了不止一次,但我希望它能帮助你。

 类似资料:
  • 我正试图用Java中的扫描器将一个字符串分成另外两个字符串。好像不起作用。我只能通过谷歌找到扫描仪用来读取控制台输入的例子。我从扫描仪的手册中找出了我做事情的方式,我不确定我错了什么。 第一个和第二个是空白的,我不知道为什么。

  • 我有两个字符串str1和str2。我试图用字符把一些字母从一个字符串复制到另一个字符串。我知道我可以使用字符串复制,但我想要一些字符,而不是全部字符。 在Java中,如何将子字符串从一个字符串复制到另一个字符串?

  • 问题内容: 我有以下数据框 我想更换和使用,所以最终的数据帧 我尝试了以下操作,但没有成功: 问题答案: 解决方案与通过: 如果需要将列中的所有值设置为一些:

  • 问题内容: 我有2种方法,第一种方法显示我的JList(list)中的选定值,索引。我想做的就是将selectedValue- s发送到CreateMap方法。我尝试了这段代码,但是s变量为null。为什么? 问题答案: 我假设您有2个称为的String变量,其中一个全局变量,一个局部变量。 换线 至 它应该工作。确保您有一个名为的全局变量。

  • 我正试图将字符串“otheruser”从静态void Answer2返回到main方法。

  • 如何检查一个字符串是否在另一个字符串中,但匹配项需要在前面,而不是中间或最后。例如,a="