【问题标题】:Using BufferedReader使用 BufferedReader
【发布时间】:2014-03-20 14:18:07
【问题描述】:

我正在做一个涉及 BufferedReader 的方法,并且我将它用作输入参数,有人可以告诉我如何将它用作输入参数但在方法之外对其进行初始化吗?

另一件事是,我如何让缓冲区读取特殊字符? (例如:´,〜)

public static List<Pacote<Pair<String, Double>>> create(
BufferedReader fileReader, int capacidadePacotes)
throws IOException {
        List retorno = new ArrayList <> (6);
        String s;
        while ((s=fileReader.readLine())!=null){
            retorno.add(parseItem(s));
        }
        return retorno;

    }

它基本上读取一个文件并将其发送到另一个处理文本并基于此创建对象的函数,我只是不清楚整体上使用 BufferedReader 作为输入参数,之前只是在方法中使用它所以我不清楚如何正确初始化它,可能是一个愚蠢的问题,但我想知道如何正确地进行初始化

【问题讨论】:

  • 请具体说明您想要做什么,所以您要读取文件吗?您想将缓冲的读取器对象传递给构造函数吗?您尝试过什么(向我们展示代码)。
  • "s=fileReader.readLine())!=null"?你写过正确的代码吗?
  • 这是问题的一部分,我真的不明白这个 BufferedReader 位,我通常会这样做一个循环来读取缓冲文件

标签: java bufferedreader


【解决方案1】:

如果您尝试读取文件,可以按如下方式初始化 BufferedReader 对象。

public static void main(String[]args) {
    BufferedReader rdr = new BufferedReader(new FileReader("filepath"));
    int capacidadePacotes = 10;
    create(rdr, capacidadePacotes);
}
//urcode for create

缓冲读取器可以使用 readLine() 方法逐行读取。如果您读取 null ,则表示您已到达文件末尾。使用缓冲阅读器的更易读的方法如下:

String s = rdr.readLine();
while(s != null) { //while u didn't reach the end of the file
    //your code
    s = rdr.readLine();
}

【讨论】:

  • 谢谢!没有考虑主要课程!
【解决方案2】:

如果你想在方法“外部”初始化它,为什么不把它交出来:

create(new BufferedReader(reader, 3));

或者您究竟希望它如何实例化?对于实例化,你需要一个Reader,它可以被移交。如果您想从文件中创建阅读器,答案也在以下链接中。

如何使用 BufferedReader 读取特殊字符:

Read special characters in java with BufferedReader

【讨论】:

  • 谢谢!这个链接真的很有帮助!
猜你喜欢
  • 2013-10-27
  • 2011-08-07
  • 2014-06-27
  • 1970-01-01
  • 1970-01-01
  • 2013-02-17
  • 2015-10-03
  • 2015-03-17
  • 2014-09-19
相关资源
最近更新 更多