public static void readerTest() throws IOException {
        String fileName = "*.*";
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
            StringBuffer buffer = new StringBuffer();
            String line = null;
            while ((line = reader.readLine()) != null) {
                buffer.append(line);
                System.out.println(line);
            }
            reader.close();
        } finally {
            if (reader != null) {
                reader.close();
                reader = null;
            }
            System.out.println("error");
        }
    }读每行数据的例子.按你的意思当然要放在一个动态的容器里,因为你事先不知道文件大小.
你可以把每一行放在一个List里
例如:
String line = null;
List textList = new ArrayList();
while ((line = reader.readLine()) != null) {
    textList.add(line);
}for (int i = 0; i < textList.size(); i++) {
    String text = (String) textList.get(i);
    System.out.println(text);
}

解决方案 »

  1.   

    用ArrayList可以。其实像楼主说的先度一次行数,在确定数组大小,也是可以的。刚读的时候把文件()一下,读完了调用reset(),然后指针就回到刚刚的地方了,然后就可以重新读了。但是这样没有必要啊,直接用ArrayList多方便阿!
      

  2.   

    1、可以用数组,java里有一种可变长度的数组;也可开一个足够大的数组。
    2、用楼上提到的容器也可,容器一般有计算它包含对象个数的方法。
      

  3.   

    public static void readerTest() throws IOException {
            String fileName = "*.*";
            BufferedReader reader = null;
            try {
                reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
                StringBuffer buffer = new StringBuffer();
                String line = null;
                while ((line = reader.readLine()) != null) {
                    buffer.append(line);
                    System.out.println(line);
                }
                reader.close();
            } finally {
                if (reader != null) {
                    reader.close();
                    reader = null;
                }
                System.out.println("error");
            }
        }读每行数据的例子.按你的意思当然要放在一个动态的容器里,因为你事先不知道文件大小.
    你可以把每一行放在一个List里
    例如:
    String line = null;
    List textList = new ArrayList();
    while ((line = reader.readLine()) != null) {
        textList.add(line);
    }for (int i = 0; i < textList.size(); i++) {
        String text = (String) textList.get(i);
        System.out.println(text);
    }这样就可以了.