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

如何阅读中的下一行。txt文件

单于庆
2023-03-14

我可以知道为什么我看不懂a中的下一行吗。txt文件时,我上传它。这发生在所有的人身上。txt文件,我尝试上传,然后系统。出来println()带。在我的文本文件中,它包含:猫、狗、猴子(每一行)。。但输出值为:

[Monkey][Monkey, null][Monkey, null, null][Monkey, null, null, null][Monkey, null, null, null, null][Monkey, null, null, null, null, null][Monkey, null, null, null, null, null, null]

需要这方面的帮助。非常感谢。

想知道为什么我会读书。txt文件,而不是。文件编号:。也需要这方面的建议。

import java.awt.List;
import java.io.*;  
import java.util.ArrayList;

import javax.imageio.IIOException;
import javax.swing.JFileChooser;

public class searchforCapitalLetter {

     public static void main(String[] args) throws IOException{  


          try {  

                // file chooser
              JFileChooser chooser=new  JFileChooser();
            int returnVal = chooser.showOpenDialog(null);{
            if(returnVal == JFileChooser.APPROVE_OPTION)

            {   File f = chooser.getSelectedFile();}
            FileInputStream fin = new FileInputStream(chooser.getSelectedFile());
            DataInputStream din = new DataInputStream(fin);    
       BufferedReader br = new BufferedReader(new InputStreamReader(din)); 

    ArrayList<String>list =new ArrayList<String> ();

    if ((br.readLine()) != null) {
    while (br.readLine() != " ") {
        list.add(br.readLine());
        System.out.print (list);
    } br.close() ;
    }//closes if statement
     } // closes method dialog
                } // closes try method

         catch (FileNotFoundException e) {
                    e.printStackTrace();
                }     // closes catch method
            } // closes method body

} // closes class method

共有3个答案

卫高谊
2023-03-14

一个经典的BufferedReader从文件中读取内容。这是我们用Java读取的文件:

这是要写入文件的内容

这是要写入文件的内容

package com.stackoverflow;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFile{

    private static final String FILENAME = "D:\\test\\filename.txt";

    public static void main(String[] args) {

        BufferedReader br = null;
        FileReader fr = null;

        try {

            fr = new FileReader(FILENAME);
            br = new BufferedReader(fr);

            String sCurrentLine;

            br = new BufferedReader(new FileReader(FILENAME));

            while ((sCurrentLine = br.readLine()) != null) {
                System.out.println(sCurrentLine);
            }

        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            try {

                if (br != null)
                    br.close();

                if (fr != null)
                    fr.close();

            } catch (IOException ex) {

                ex.printStackTrace();

            }

        }

    }

}

输出:

这是要写入文件的内容

这是要写入文件的内容

冉德元
2023-03-14

您无法使用的原因。doc是因为。文档文件是格式化的,因此,您的代码需要解析一些东西才能从中读取。

就奇怪的打印而言,在打印之前,您已经阅读了两次代码(每次调用.readLine时,它都会将扫描仪移到下一行)。请尝试以下代码:

ArrayList<String>list =new ArrayList<String> ();
String currentLine;
while ((currentLine = br.readLine()) != null) {
    list.add(currentLine);
    System.out.println(currentLine);
} br.close() ;
}

这将在变量中跟踪当前行,而不是重复将扫描仪移动到下一行。另一个问题是,当到达文件末尾时,它将为null,而不是“”

松新
2023-03-14

根据bufferedreader api:

public String readLine()引发IOException

读取一行文本。换行符('\n')、回车符('\r')或紧跟换行的回车符中的任何一个都认为一行结束。

返回:包含行内容的字符串,不包括任何行终止字符,如果已到达流的结尾,则返回null

抛出:IOException-如果发生I/O错误

请注意,您的代码犯了一些错误:

1) 它调用readline()一次以检查返回值,然后再次使用返回值。第一个调用(在while条件下)从缓冲区中删除当前值,因此每隔一行就删除一行。

2) 您使用了错误的比较来查看是否有剩余数据。x!=y、 如果x和y都是对象,则检查指针是否相等-分配x的内存位置是否与分配y的内存位置相同。您真正想要的是将值存储在变量中。

例如:

BufferedReader in = ...;
String s = in.readLine();
while(s!=null){
    ...
    s = in.readLine();
}
 类似资料:
  • 问题内容: 我会尽量保持清楚,但如果我的问题不完美,请原谅我。我有一个包含多行数据的txt文件。例: 123拉尔夫·玻色20000 200 1 2 256 ed shane 30000 100 2 4 … 我需要按顺序读取每一行,并将其传递回单独类中的方法进行处理。我知道如何通过使用StringTokenizer将每一行分解为元素。 但是,我不确定如何一次读取一行,将元素传递回另一类,然后在完成处

  • 问题内容: 我有以下要在node.js中操作的文本文件(“ test.txt”): 我想删除第一行,以使其成为第一行。我怎样才能做到这一点? 问题答案:

  • 问题内容: 我正在尝试读取“ file.txt”,然后使用Golang将内容放入变量中。这是我尝试过的… 文件已成功读取,并且从 os.Open 返回的返回类型为 * os.File 问题答案: 这取决于您要执行的操作。 它输出&{0xc082016240}的原因是因为您正在打印文件描述符()的指针值,而不是文件内容。要获取文件内容,可以从文件描述符中获取。 要将所有文件内容(以字节为单位)读取到

  • 我有以下数据帧(数据6): 我想将其写入txt文件,所有行都在一行中,如下所示: 当我使用以下命令时: write.table(data6, file="C:/MyData.txt",row.names=FALSE, na="",col.names=FALSE, sep=",") 我收到以下 内容: 如何获得单行 文件格式?

  • 我正在编写一个程序,使用一个文件中的30个分数,计算出最低、最高和平均分数。我很难理解如何编写循环语句来读取每个等级并更新最低/最高等级,并在读取下一个等级之前将该值添加到总和。 谢谢想出来了:

  • 你好,我正在尝试使用火花从文本文件中读取特定的行。 它可以用。获取第一行数据的第一个()命令。文本文件。如何访问文档的第n行?我需要java解决方案。