BufferedReader只读取61个字节

时间:2012-01-10 16:50:32

标签: java

我想使用Java的BufferedReader读取一个90kb的文件(显然大约等于90,000字节),但它只在61字节后停止。该文件没问题,我已经使用HexEditor进行了检查。

private ArrayList<byte[]> readAsBytes(String dir, String filename, int lineCount) {
    /** Read file as byte*/
    ArrayList<byte[]> outputArr = new ArrayList<byte[]>();
    try {
        InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream (dir+filename));
        BufferedReader reader = new BufferedReader(inputStreamReader);

        if (lineCount == -1) {
            String buf = "";
            buf = reader.readLine();
                if (buf != null) {
                    outputArr.add(buf.getBytes());
                }
            }
        else {
            for (int i = 0; i < lineCount; i++) {
                String buf = reader.readLine();
                if (buf != null) {
                    outputArr.add(buf.getBytes());
                }
                else continue;
             }
        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   

有人可以帮忙吗?可能有点简单的错误,但我开始厌倦了......

1 个答案:

答案 0 :(得分:1)

BufferInputStream代替BufferedReader完成了这项工作。完全忘记了这门课的存在。