java - java中删除文本文件中的某个字符

标签 java text io java.util.scanner

所以我最近收到了一个大文本文件,我需要阅读它,不幸的是它的格式很糟糕,因为到处都有下一行字符,使得阅读变得非常困难。因此,我一直在尝试想一种方法来对文件进行排序并使用 java 程序删除每个 nextLine

例如,如果我们有以下文本:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse rhoncus interdum      condimentum. Proin viverra   
justo vel imperdiet sagittis, purus sapien sagittis mi, et blandit purus ante non libero. Nulla ac   
augue ut odio eleifend interdum  
 ac id justo. Quisque rutrum euismod sem, vel euismod nunc convallis eu. Praesent odio velit,
 condimentum id scelerisque  
 iaculis, vulputate vitae lacus. Fusce adipiscing blandit libero eu venenatis.
 Vestibulum nec urna   
pulvinar arcu pretium   
pretium. Duis vitae augue dolor. Etiam consectetur feugiat
 diam sit amet gravida. 

我们希望结果是这样的:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse rhoncus interdum
condimentum. Proin viverra, justo vel imperdiet sagittis, purus sapien sagittis mi,       
blandit purus ante non libero. Nulla ac augue ut odio eleifend interdum ac id justo.
Quisque rutrum euismod sem, vel euismod nunc convallis eu. Praesent odio velit,
condimentum id scelerisque iaculis, vulputate vitae lacus. Fusce adipiscing blandit
libero eu venenatis. Vestibulum nec urna pulvinar arcu pretium pretium. Duis vitae
augue dolor 

我对使用 Java 读取/写入文本文件不太有经验。我当前的想法是读取每个字符值,检查它是否等于下一行的值,如果不等于,则继续将该字符写入单独的文本文件。但我不太确定如何实现这一点。我不知道如何检查下一个字符是否是下一行。

任何帮助都会很棒。

最佳答案

File file = new File("yourFilePath.txt");  // create File object to read from
Scanner scanner = new Scanner(file);       // create scanner to read
Printwriter writer = new PrintWriter("someOutputFile.txt"); // create file to write to

while(scanner.hasNextLine()){  // while there is a next line
    String line = scanner.nextLine();  // line = that next line

    // do something with that line
    String newLine = "";

    // replace a character
    for (int i = 0; i < line.length(); i++){
        if (line.charAt(i) != '*') {  // or anything other character you chose
            newLine += line.charAt(i);
        }
    }

    // print to another file.
    writer.println(newLine);
}

您也可以只写回到同一个文件,但这需要使用StringBuilder

关于java - java中删除文本文件中的某个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19885354/

相关文章:

java - 为什么我的java套接字无法自行结束?

java - 带虚拟键盘的 Android onKey

java - 如何手动触发Spring验证?

javascript - 评估语句中的按钮文本

c++ - 检查一个序列是否由两个相同的序列组成

java - 从 Java 中的输入文件数据创建的数组中创建格式化表

file - 输出到 lisp 中的文本文件

java - 如何在Java中模仿音译?

java - PublishResult 中的 ConcurrentModificationException - ArrayAdapter

c 读取非 ASCII 字符