java 文件换行符_java 如何获取文件的换行符

0003f85c1c406b2123b1008898e389be.png

慕盖茨1488219

自己写的工具类,希望适用   /**

   * 按行读取文件

   * @param file

   * @param fromLineNum

   * @param charset

   * @return

   */

  public static List readLines(File file,int fromLineNum,Charset charset) {

    List lines=new ArrayList();

    int prechar=-1;

    int lineNum=0;

    InputStream is=null;

    try {

      is=new FileInputStream(file);

      int data=0;

      List bList=new ArrayList();

      while((data=is.read())!=-1) {

        byte x=(byte) (data>127?data-256:data);

        if(data=='\n') {

         lineNum+=1;

         if(prechar=='\r') {

           bList.remove(bList.size()-1);

         }

         byte bs[]=new byte[bList.size()];

         for(int i=0;i

           bs[i]=bList.get(i);

         }

         if(lineNum>=fromLineNum) {

           String line=new String(bs,0,bs.length,charset);

           lines.add(line);

         }

         bList.clear();

        }else {

          bList.add(x);

        }

        prechar=data;

      }

    } catch (FileNotFoundException e) {

      e.printStackTrace();

    } catch (IOException e) {

      e.printStackTrace();

    }finally {

      if(is!=null) {

        try {

          is.close();

        } catch (IOException e) {

          e.printStackTrace();

        }

      }

    }

    return lines;

  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值