Java中实现读取文件指定行

读取文件指定行要用到类LineNumberReader,它是跟踪行号的缓冲字符输入流,其基类是BufferedReader。。它有两个构造方法:

public LineNumberReader(Reader in)

使用默认输入缓冲区的大小创建新的行编号 reader,默认输入缓冲区的大小为8096个字节。

pulbic LineNumberReader(Reader in,int size)

创建新的行编号 reader,将字符读入给定大小的缓冲区。

例如:

FileInputReader in=new FileInputReader(“test.java”);

LineNumberReader line=new LineNumberReader(in);

源代码如下:

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import java.io.LineNumberReader;

public class ReadSelectedLine{

/**

* 读取文件指定行。

*/

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

// 指定读取的行号

int lineNumber = 12;

// 读取文件

File sourceFile = new

File("src/Chapter08/ReadSelectedLine.java");

// 读取指定的行

readAppointedLineNumber(sourceFile, lineNumber);

// 获取文件的内容的总行数

System.out.println(getTotalLines(sourceFile));

}

// 读取文件指定行。

static void readAppointedLineNumber(File sourceFile, int lineNumber)

throws IOException {

FileReader in = new FileReader(sourceFile);

LineNumberReader reader = new LineNumberReader(in);

String s = reader.readLine();

if (lineNumber < 0 || lineNumber > getTotalLines(sourceFile)) {

System.out.println("不在文件的行数范围之内。");

}

{

while (s != null) {

System.out.println("当前行号为:"

+ reader.getLineNumber());

reader.setLineNumber(20);

System.out.println("更改后行号为:"

+ reader.getLineNumber());

System.out.println(s);

System.exit(0);

s = reader.readLine();

}

}

reader.close();

in.close();

}

// 文件内容的总行数。

static int getTotalLines(File file) throws IOException {

FileReader in = new FileReader(file);

LineNumberReader reader = new LineNumberReader(in);

String s = reader.readLine();

int lines = 0;

while (s != null) {

lines++;

s = reader.readLine();

}

reader.close();

in.close();

return lines;

}

}

java 读取文件的指定行_Java中实现读取文件指定行相关推荐

  1. bak文件转oracle文件,如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g)...

    如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g) 我有Oracle 11g备份文件(.bak文件)如何在Oracle 11g ...

  2. java读取文件 路径_Java中的获取文件的物理绝对路径,和读取文件

    获取文件的绝对路径,读取该文件 一.文件目录打印图 下面的文件目录图,是项目中文件的位置信息:下面的例子是按照这个图来演示的. . |-- java | |-- ibard | | |-- demo1 ...

  3. java file 相对路径 根目录修改_java中使用相对路径读取文件的写法总结 ,以及getResourceAsStream() (转)...

    https://blog.csdn.net/my__sun_/article/details/74450241 读取文件的写法,相对路径 在当前的目录结构中读取test.txt的有四种写法 简单粗暴的 ...

  4. java读文件几种方式_java中读取文件的方式有哪几种

    java中读取文件的方式有哪几种 发布时间:2020-06-19 13:36:48 来源:亿速云 阅读:135 作者:鸽子 读取文件有多种方式,基于传统的输入流方式或基于nio的Buffer缓冲对象和 ...

  5. java读取文件中的字符串_java中怎样将文件的内容读取成字符串

    java中怎样将文件的内容读取成字符串 mip版  关注:68  答案:3  悬赏:10 解决时间 2021-01-18 02:36 已解决 2021-01-17 04:47 java中怎样将文件的内 ...

  6. java file文件读取文件内容_java中的File文件读写操作

    之前有好几次碰到文件操作方面的问题,大都由于时间太赶而没有好好花时间去细致的研究研究.每次都是在百度或者博客或者论坛里面參照着大牛们写的步骤照搬过来,之后再次碰到又忘记了.刚好今天比較清闲.于是就在网 ...

  7. java 多个类共用属性_java中读写Properties属性文件公用方法详解

    前言 大家都知道Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改 ...

  8. java中文件处理之图片_Java中的文件处理

    java中文件处理之图片 File Handing in java comes under IO operations. Java IO package java.io classes are spe ...

  9. java资源文件路径_Java 中获取资源(文件)的路径问题总结

    Java 中获取资源(文件)的路径问题总结 首先,Java 中获取资源大体上可分为两种方式,基于 文件系统的 和 基于classpath的. 1. 基于文件系统的相对简单. 比如 构造一个File f ...

最新文章

  1. node 压缩模块速成
  2. 18 常用模块 random shutil shevle logging sys.stdin/out/err
  3. 2016年度最受欢迎开源项目,JEECG、JEEWX参与投票
  4. input 获取焦点 蓝色边框 去掉 outline
  5. 聊聊机器学习中的损失函数(hinge/soft/square/0-1)
  6. 给大家推荐一个查变量名的网站
  7. 《Windows via C/C++》学习笔记 —— 内核对象的“线程同步”之“事件内核对象”...
  8. 天锐绿盾技术大讲堂:解密审批流程管理
  9. gedit文本编辑器
  10. 记一个tcp udp测试工具ethrc
  11. 接口测试简介以及接口测试用例设计思路
  12. 使用 Bitmap Style Designer 为FMX修改已有样式
  13. 《SteamVR2.2.0快速入门》(Yanlz+Unity+XR+OpenVR+OpenXR+SteamVR+Valve+Vive+Oculus+Quickstart+HMD+立钻哥哥++ok++)
  14. [转载] OpenCV—利用回调函数实现返回鼠标点击位置的坐标和灰度值
  15. android播放语音,切换听筒模式遇到的问题
  16. 中华成语库 v1.1 下载
  17. 开启xmp1还是2_家用门窗常见开启方式及优势
  18. 创业失败后的他们,是怎么找工作的?
  19. sql查询大于平均得分的球员的名字和得分,并追加显示平均得分的列
  20. python设计石头剪刀布游戏_用python制作剪刀石头布游戏

热门文章

  1. 白日门修改超级会员QQ号码
  2. linux 让程序在服务器保持后台运行
  3. 超级兔子虚拟磁盘加速器1.62
  4. 知识推理————相关工具介绍(你值得了解)
  5. Enyo 2 Onyx — LinuxTOY
  6. 2014 -3 -3 大华校招面经
  7. winform 换肤
  8. r语言 tunerf_R语言机器学习:caret包使用及其黑箱模型解释(连续变量预测)
  9. 万字博文教你python爬虫XPath库【详解篇】
  10. winpe是什么能用他来做什么用