java - 如何制作 Java 文件阅读器

标签 java file filereader scramble

我正在尝试为类项目制作单词打乱器。它需要读入一个 .txt 文件并输出一个包含文件中所有单词的字符串;但炒。例如:

这就是应该如何打乱单词。

忽略标点符号并保留第一个和最后一个字母。

我无法将文件读入数组。我计划使用 collections.shuffle 通过忽略第一个和最后一个字母并随机化内部字母来洗牌内层。

我不知道如何实现文件阅读器,但这是我对每个单词的加扰器。

public static String shuffle(String input){
    input = "supercalifragilisticexpialidocious";
    int i = 0;
    ArrayList<Character> chars = new ArrayList<Character>(input.length());
    String output = "";
    char[] characters = input.toCharArray();
    char[] newWord = new char[input.length()];



    newWord[0] = characters[0];
    newWord[input.length()-1] = characters[input.length()-1];

    for (i=1; i < input.length()-1;i++ ) {
        chars.add(characters[i]);
    }

    System.out.println(chars);
    for (i = 1; i <= input.length()-2; i++)
    {
        Collections.shuffle(chars);
    }
    Character[] middle = chars.toArray(new Character[chars.size()]);
    for (i = 1; i < newWord.length - 2; i++)
    {
        newWord[i] = middle[i];
    }

    System.out.println(newWord);
    StringBuffer r= new StringBuffer(output);
    for (i = 0; i < newWord.length-1; i++)
    {
        r.append(newWord[i]);
    }

    return output;
}

这会像我想要的那样输出 saxupieipclflaurrtocslcidigaiiois,但现在我需要一种方法来读取 .txt 文件并将其拆分为单独的单词。

如果有人能帮助我,那就太好了。我真正想要的是是否有人可以帮助我为此制作一个文件阅读器。

最佳答案

使用文件阅读器读取文件使用正则表达式拆分成单词

    BufferedReader br = new BufferedReader( new FileReader( "file.txt" ) );
    try {
        StringBuilder sb = new StringBuilder();
        String line = br.readLine();

        while ( line != null ) {
            sb.append( line );
            sb.append( '\n' );
            line = br.readLine();
        }
        String everything = sb.toString();
        String[] words = everything.split( "[^\\w']+" );

        System.out.println( words );

    } finally {
        br.close();
    }
}

关于java - 如何制作 Java 文件阅读器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18776642/

相关文章:

Java 合并带有模式的数组列表

java - 通过 JUnit 测试确认 FileReader 已正确关闭

java - 如何在java swing中创建3个按钮以占据它们添加到的面板的1/3?

java - 如何在 selenium 中创建 driver.findelement( 再次函数) 的函数

java - 如果使用 JAVA 和 Apache Poi 粘贴添加内容,则数据验证不起作用

php - 我的变量将在我的数组中得到空值

c - 如何在 C 中只读取文件中的数字直到 EOF

python - 如何检查文件夹中的文件是否与 .csv 文件中指定的文件名一致?

java - 读取 csv 文件并在 Lambda (Java8) 中过滤特定列

Java编辑现有文件