Java中文件读取操作小记

本文记录了在Java中进行文件读取操作的经验,强调了文件指针的工作原理,指出在不需读取全部内容时如何处理,以及正确关闭文件的重要性。文件指针在每次读取后会从上次位置继续,若只需部分读取,可以不处理或重新打开文件。文件关闭时务必关闭所有相关文件指针,以避免内存泄露问题。

最近写东西频繁用到JAVA的文件操作,比较喜欢的用法还是FileReader和BufferedReader结合的,以前对JAVA文件操作理解的不深。这次出了很多BUG才知道JAVA文件操作的一些关卡所在。

1.虽然JAVA中没有提供指针,但JAVA底层一些机制的实现还是通过指针实现的。在打开文件时,文件指针指向文件首部,每次读取文件时,都是通过上一次文件指针的位置继续读下去,这个要切记,不是说上次读完文件后,下一次读文件还是从文件首部开始读,而是根据上一次的位置继续读文件。

<span style="white-space:pre">		</span>buffer = br.readLine();
		System.out.println(buffer);
		buffer = br.readLine();
		System.out.println(buffer);
这样打印出来的结果是不一样的,分别是文件的第一行(如果是第一次打开文件)和第二行。

2.有些情况下我们可能不需要读取文件中的所有行,这时对于这种逐行读取的操作命令应该怎么办?

有两种办法,第一种是还是逐行读,但是不逐行处理

while((buffer = br.readLine())!=null){
			if(i%3==0){
				System.out.println(buffer);
			}
			i++;
		}
这样就能得到每3行的文件。

第二种方法就比较简单粗暴了。直接关闭文件,然后再打开

<span style="white-space:pre">		</span>buffer = br.readLine();
		System.out.println(buffer);
		br.close();
		fr.close();
		fr = new FileReader("matrix.txt");
		br = new BufferedReader(fr);
		buffer = br.readLine();
		System.out.println(buffer);
这样就让文件指针又重新回到文件首部,然后进行一些空循环,控制读到我们想要的若干行。

3.文件关闭操作

文件关闭听上去很简单,可是也要处理得当,我上次做这个关闭的时候,就是只关闭了br文件指针,但没有关闭fr,导致程序报错说内存泄露之类的,所以我们关闭文件时,要记住将所有与它相关的文件指针都关掉才行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值