从Java中的文本文件中删除某个字符 [英] Deleting a certain character from a text file in java

查看:198
本文介绍了从Java中的文本文件中删除某个字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此我最近收到了一个大文本文件,不幸的是,我需要阅读该文本文件的格式非常糟糕,因为到处都有下一行字符,这使得阅读非常困难.因此,我一直在尝试思考一种使用Java程序对文件进行排序并删除每个nextLine的方法.

So I've recently received a large text file that I need to read unfortunately its formatted terribly as there are next line characters everywhere making it extremely difficult to read. So I've been trying to think of a way to sort through the file and delete each nextLine using a java program.

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

For example if we had this text:

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读取/写入文本文件不是很有经验.我当前的想法是读取每个char值,以检查它是否等于下一行的值,如果不是,则继续将该char写入单独的文本文件.但是我不确定如何实现这一点.我不确定如何检查下一个字符是否是下一行.

I'm not very experienced with reading/writing text file using Java. My current idea is reading in each char value checking if it is equal to the value of next line and proceeding to write that char to a separate text file if it is not. But i'm not really sure on how to implement this. I'm not sure how to check if a the next character is a next line.

任何帮助都会很棒.

推荐答案

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.

You could also just write back to the same file, but that would require using a StringBuilder.

这篇关于从Java中的文本文件中删除某个字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆