标签: bufferedreader

扫描仪与BufferedReader

据我所知,从Java文件中读取基于字符的数据的两种最常用的方法是使用ScannerBufferedReader.我也知道BufferedReader通过使用缓冲区来有效地读取文件以避免物理磁盘操作.我的问题是:

  • 是否Scanner执行以及BufferedReader
  • 你为什么选择Scanner,BufferedReader反之亦然?

java file-io bufferedreader java.util.scanner

267
推荐指数
8
解决办法
25万
查看次数

我是否需要关闭()FileReader和BufferedReader?

我正在使用围绕FileReader的BufferedReader读取本地文件:

BufferedReader reader = new BufferedReader(new FileReader(fileName));
// read the file
// (error handling snipped)
reader.close();
Run Code Online (Sandbox Code Playgroud)

我需要close()FileReader为好,或将包装处理这个问题?我见过人们这样做的代码:

FileReader fReader = new FileReader(fileName);
BufferedReader bReader = new BufferedReader(fReader);
// read the file
// (error handling snipped)
bReader.close();
fReader.close();
Run Code Online (Sandbox Code Playgroud)

从servlet调用此方法,我想确保不打开任何句柄.

java io filereader bufferedreader

179
推荐指数
5
解决办法
15万
查看次数

Android有效地从输入流中读取

我正在为我正在制作的Android应用程序的网站发出HTTP get请求.

我正在使用DefaultHttpClient并使用HttpGet发出请求.我得到实体响应,从中获取一个InputStream对象来获取页面的html.

然后我循环完成回复,如下所示:

BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
String x = "";
x = r.readLine();
String total = "";

while(x!= null){
total += x;
x = r.readLine();
}
Run Code Online (Sandbox Code Playgroud)

然而,这非常缓慢.

这效率低吗?我没有加载一个大的网页 - www.cokezone.co.uk所以文件大小不大.有一个更好的方法吗?

谢谢

安迪

java android input stream bufferedreader

147
推荐指数
5
解决办法
25万
查看次数

将InputStream转换为BufferedReader

我正在尝试使用Android中assets目录中的InputStream逐行读取文本文件.

我想将InputStream转换为BufferedReader以便能够使用readLine().

我有以下代码:

InputStream is;
is = myContext.getAssets().open ("file.txt");
BufferedReader br = new BufferedReader (is);
Run Code Online (Sandbox Code Playgroud)

第三行删除以下错误:

Multiple markers at this line
The constructor BufferedReader (InputStream) is undefinded.

我在C中尝试做的事情如下:

StreamReader file;
file = File.OpenText ("file.txt");

line = file.ReadLine();
line = file.ReadLine();
...
Run Code Online (Sandbox Code Playgroud)

我做错了什么或我应该怎么做?谢谢!

java android inputstream readline bufferedreader

143
推荐指数
3
解决办法
17万
查看次数

java.io.PrintWriter和java.io.BufferedWriter之间的区别?

请查看下面的代码:

// A.class
File file = new File("blah.txt");
FileWriter fileWriter = new FileWriter(file);
PrintWriter printWriter = new PrintWriter(fileWriter);

// B.class
File file = new File("blah.txt");
FileWriter fileWriter = new FileWriter(file);
BufferedWriter bWriter = new BufferedWriter(fileWriter);
Run Code Online (Sandbox Code Playgroud)

这两种方法有什么区别?

什么时候应该在BufferedWriter上使用PrintWriter?

java file stream filereader bufferedreader

90
推荐指数
4
解决办法
8万
查看次数

"流"和"缓冲区"究竟在Java I/O中意味着什么?

我刚刚学习了输入/输出BufferedReader.

我想知道究竟是什么术语的含义StreamBuffer

这行代码还为我们提供了什么:

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
Run Code Online (Sandbox Code Playgroud)

java buffer bufferedreader

76
推荐指数
3
解决办法
6万
查看次数

bufferedreader和filereader之间的具体区别

我想知道BufferedReader和之间的具体区别FileReader.

我知道这样做BufferedReader效率要高得多FileReader,但是有人可以解释一下原因(具体而且详细)吗?谢谢.

java filereader bufferedreader

51
推荐指数
2
解决办法
7万
查看次数

如何在Java中使用Buffered Reader

对不起,如果这是一个显而易见的问题,但我似乎无法得到它.我正在为数据结构课程分配工作.它涉及从简单的.dat文件中提取数据.我们之前从未使用过Java中的任何文件访问选项,所以教授只是给了我们这篇文章的工作代码.因此,一个名为'FileReadExample'的类创建一个新的缓冲读取器对象,打开一个文件,然后应该发出一堆关于该文件的数据.但我根本无法访问任何数据.在一个单独的testMain文件中,我创建了一个名为fr的新FileReadExample对象,然后尝试从那里打印出像fr.readLine()这样的东西,但它告诉我没有这样的方法.我敢肯定我错过了一些非常容易的东西.

编辑 - 教授代码:

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

public class FileReadExample
{
    public static void main(String[] args)
    {
        System.out.println("got here");
        try
        {
            BufferedReader in = new BufferedReader(new FileReader(new File("sample-file.dat")));
            System.out.println("File open successful!");

            int line = 0;
            for (String x = in.readLine(); x != null; x = in.readLine())
            {
                line++;
                System.out.println(x);
                if (line <= 3)
                {
                    String[] tokens = x.split(" ");
                    System.out.println("Number of tokens in line " + line + ": " + tokens.length);
                    System.out.println("The tokens are:"); …
Run Code Online (Sandbox Code Playgroud)

java bufferedreader

42
推荐指数
1
解决办法
37万
查看次数

为什么BufferedReader read()比readLine()慢得多?

我需要一次读取一个文件,我正在使用该read()方法BufferedReader.*

我发现这read()比约慢10倍readLine().这是预期的吗?或者我做错了什么?

这是Java 7的基准测试.输入测试文件大约有500万行和2.54亿个字符(~242 MB)**:

read()方法需要大约7000毫秒来读取所有字符:

@Test
public void testRead() throws IOException, UnindexableFastaFileException{

    BufferedReader fa= new BufferedReader(new FileReader(new File("chr1.fa")));

    long t0= System.currentTimeMillis();
    int c;
    while( (c = fa.read()) != -1 ){
        //
    }
    long t1= System.currentTimeMillis();
    System.err.println(t1-t0); // ~ 7000 ms

}
Run Code Online (Sandbox Code Playgroud)

readLine()方法只需约700毫秒:

@Test
public void testReadLine() throws IOException{

    BufferedReader fa= new BufferedReader(new FileReader(new File("chr1.fa")));

    String line;
    long t0= System.currentTimeMillis();
    while( (line = fa.readLine()) != null ){
        // …
Run Code Online (Sandbox Code Playgroud)

java benchmarking bufferedreader

40
推荐指数
1
解决办法
5204
查看次数

如何更快地阅读BufferedReader

我想优化这段代码:

InputStream is = rp.getEntity().getContent();      

BufferedReader reader = new BufferedReader(new InputStreamReader(is));

String text = "";
String aux = "";

while ((aux = reader.readLine()) != null) {
        text += aux;
      }
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何读取bufferedreader的内容并以比我上面更快的方式将其复制到String中.我需要花费尽可能少的时间.谢谢

java optimization bufferedreader

33
推荐指数
3
解决办法
6万
查看次数