有一文本文件,每行都有一段数据,要如何把文件的第一行删除?

解决方案 »

  1.   

    try {
        BufferedReader reader = 
            new BufferedReader(
                new FileReader(fileName));    // 忽略第一行
        reader.readLine();    final int SIZE = 1024;
        char[] chunk = new char[SIZE];    StringBuffer buf;
        int len;    while((len = reader.read(chunk, 0, SIZE)) != -1) {
            buf.append(chunk, 0, len);
        }    reader.close();    BufferedWriter writer =
            new BufferedWriter(
                new FileWriter(fileName));
        writer.write(buf.toString());
        writer.close();} catch (IOException ioe) {
        e.printStackTrace();
    }
      

  2.   

    写程序可不能马虎~
    而且上面的filename也不能是同一个,如果文件比较大也不能用StringBuffer类来读。
    目前我看也只有先建立另一个文件从那文件读出所需数据再写入后重命名。
      

  3.   

    用stringbuffer有何不可,再大能大到哪去
      

  4.   

    To: rogina(晓宇)
    1)而且上面的filename也不能是同一个
    为什么不能是同一个?我读完之后把reader关掉了。2)如果文件比较大也不能用StringBuffer类来读
    StringBuffer可以容纳2G多一点的字符,大多数文本文件不会超过1M3)先建立另一个文件从那文件读出所需数据再写入后重命名
    这种方法是可行的,并且可以节省内存,但是对于一般的应用,没必要把代码搞得太复杂。