java怎么读取txt文件的行数

Python010

java怎么读取txt文件的行数,第1张

import java.io.File

import java.io.RandomAccessFile

/**

 * 读取文档的第二行内容

 *

 * @author 3306 2017年3月21日

 * @see

 * @since 1.0

 */

public class CountLine {

    /*

     * 读取文件绝对路径

     */

    private static String filePath = "d:/cms.sql"

    public static void main(String[] args) {

        long line = readLine(filePath)

        System.out.println(line)

    }

    /**

     * 读取文件行数

     * 

     * @param path

     *            文件路径

     * @return long

     */

    public static long readLine(String path) {

        long index = 0

        try {

            RandomAccessFile file = new RandomAccessFile(new File(path), "r")

            while (null != file.readLine()) {

                index++

            }

            file.close()

        } catch (Exception e) {

            e.printStackTrace()

        }

        return index

    }

}

可以通过BufferedReader 流的形式进行读取,之后循环输出每一行的内容。

BufferedReader bre = null

try {

bre = new BufferedReader(new FileReader(file))//file为文件的路径+文件名称+文件后缀

while ((str = bre.readLine())!= null) // ●判断最后一行不存在,为空结束循环

{

System.out.println(str)//原样输出读到的内容

};

备注: 流用完之后必须close掉,如上面的就应该是:bre.close()

package com.lwj.demo  

  

import java.io.* 

public class RandomAccessFileDemo {  

 public static void main(String[] args) throws Exception {  

    RandomAccessFile file = new RandomAccessFile("file", "rw")  

      // 以下向file文件中写数据  

  file.writeInt(20)// 占4个字节  

  file.writeDouble(8.236598)// 占8个字节  

  file.writeUTF("这是一个UTF字符串")// 这个长度写在当前文件指针的前两个字节处,可用readShort()读取  

  file.writeBoolean(true)// 占1个字节  

  file.writeShort(395)// 占2个字节  

  file.writeLong(2325451l)// 占8个字节  

  file.writeUTF("又是一个UTF字符串")  

  file.writeFloat(35.5f)// 占4个字节  

  file.writeChar('a')// 占2个字节  

  

  file.seek(0)// 把文件指针位置设置到文件起始处  

  

  // 以下从file文件中读数据,要注意文件指针的位置  

  System.out.println("——————从file文件指定位置读数据——————")  

  System.out.println(file.readInt())  

  System.out.println(file.readDouble())  

  System.out.println(file.readUTF())  

  

  file.skipBytes(3)// 将文件指针跳过3个字节,本例中即跳过了一个boolean值和short值。  

  System.out.println(file.readLong())  

  

  file.skipBytes(file.readShort()) // 跳过文件中“又是一个UTF字符串”所占字节,注意readShort()方法会移动文件指针,所以不用加2。  

  System.out.println(file.readFloat())  

   }

}

参考资料

http://blog.csdn.net/akon_vm/article/details/7429245