Java后台按行读取txt文件

java读取txt文件内容。可以作如下理解:

  1. 首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。

  2. 通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西

  3. 既然你使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据

  4. 解读完成后要输出呀。那当然要转换成IO可以识别的数据呀。那就需要调用字节码读取的方法BufferedReader()。同时使用bufferedReader()的readline()方法读取txt文件中的每一行数据哈。

    package com.campu;
    
     
    
    import java.io.BufferedInputStream;
    
    import java.io.BufferedReader;
    
    import java.io.File;
    
    import java.io.FileInputStream;
    
    import java.io.InputStreamReader;
    
    import java.io.Reader;
    
     
    
    /**
    
     * @author 码农小江
    
     * H20121012.java
    
     * 2012-10-12下午11:40:21
    
     */
    
    public class H20121012 {
    
        /**
    
         * 功能:Java读取txt文件的内容
    
         * 步骤:1:先获得文件句柄
    
         * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取
    
         * 3:读取到输入流后,需要读取生成字节流
    
         * 4:一行一行的输出。readline()。
    
         * 备注:需要考虑的是异常情况
    
         * @param filePath
    
         */
    
        public static void readTxtFile(String filePath){
    
            try {
    
                    String encoding="GBK";
    
                    File file=new File(filePath);
    
                    if(file.isFile() && file.exists()){ //判断文件是否存在
    
                        InputStreamReader read = new InputStreamReader(
    
                        new FileInputStream(file),encoding);//考虑到编码格式
    
                        BufferedReader bufferedReader = new BufferedReader(read);
    
                        String lineTxt = null;
    
                        while((lineTxt = bufferedReader.readLine()) != null){
    
                            System.out.println(lineTxt);
    
                        }
    
                        read.close();
    
            }else{
    
                System.out.println("找不到指定的文件");
    
            }
    
            } catch (Exception e) {
    
                System.out.println("读取文件内容出错");
    
                e.printStackTrace();
    
            }
    
         
    
        }
    
         
    
        public static void main(String argv[]){
    
            String filePath = "L:\Apache\htdocs\res\20121012.txt";
    
    //      "res/";
    
            readTxtFile(filePath);
    
        }
    
         
    
         
    
     
    
    }
原文地址:https://www.cnblogs.com/lonske/p/6339649.html