【问题标题】:Reading a text file with new lines in Java [duplicate]在Java中读取带有新行的文本文件[重复]
【发布时间】:2021-03-10 00:35:53
【问题描述】:

我想用换行符读取我的文本文件,例如,我有那个 txt 文件;

我是一个段落。单击此处添加您自己的文本并编辑我。它的 简单。只需单击?编辑文本?或双击我添加你自己的 内容并更改字体。随意拖放我 页面上您喜欢的任何位置。我是你告诉我的好地方 故事并让您的用户更多地了解您。

这是写关于您的公司和您的长篇文章的好地方 服务。你可以使用这个空间来更详细地了解 你的公司。谈论您的团队以及您提供的服务。告诉 你的访客你是如何想出你的想法的故事 业务以及使您与竞争对手不同的原因。做你的 公司脱颖而出,向您的访客展示您的身份。

我想按照看起来那样阅读该文件。

我试过这段代码:

FileReader fr = 
  new FileReader("C:\\Users\\pankaj\\Desktop\\test.txt"); 

int i; 
while ((i=fr.read()) != -1) 
  System.out.print((char) i); 
}

但它没有换行符。

有什么方法可以获取带有换行符的文本文件?

【问题讨论】:

  • Files.lines(Paths.get("C:\\Users\\pankaj\\Desktop\\test.txt"))
  • 这些对我的问题不起作用,我想用新行保留字符串变量。感谢贡献
  • 您的代码对我来说很好用。你用的是什么java版本?我正在使用 JDK 15.0.1
  • 所示代码也将读取换行符。目前尚不清楚您的真正问题是什么。
  • 我只想将 txt 文件保存在带有新行的字符串变量中

标签: java file


【解决方案1】:

你可以这样做:

try(BufferedReader br = new BufferedReader(new FileReader(pathToYourFile))) {
    String line = br.readLine();

    while (line != null) {
        // do something with your line, like printing it or appending to a StringBuilder
        System.out.println(line);
        line = br.readLine();
    }
}

或从herehere 的答案中查看其他可能性。

【讨论】:

    【解决方案2】:

    您可以使用任何支持 readLine() 的阅读器,该阅读器读取文本的下一行而没有结束行分隔符 - 但您可以使用 System.lineSeparator() 添加它。

    另一种方法是读取文件中的所有字节并将其转换为字符串。 java.nio.file.Files 类中有多个实用程序方法。 示例:

    RandomAccessFile raf=new RandomAccessFile(yourFile,"r");
    String text="";
    for(String line=raf.readLine();line!=null;line=raf.readLine()){
    text+=line+System.lineSeparator();
    }
    

    示例 2:

    String text=Files.readString(yourPath);
    

    示例 3:

    String text=new String(Files.readAllLines(yourPath), StandardCharsets.UTF_8);
    

    【讨论】:

      【解决方案3】:

      你可以使用 Scanner 类

      Scanner sc = new Scanner(file);       
      while (sc.hasNextLine())  {
            System.out.println(sc.nextLine()); 
      } 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-19
        • 1970-01-01
        • 1970-01-01
        • 2013-05-19
        • 1970-01-01
        • 2016-07-14
        • 2010-10-07
        相关资源
        最近更新 更多