关于java读取文件IO流学习总结(二)

今天网上随意逛了逛,某处看到关于文件的操作,描述的不错,加深了对于文件操作的理解,在此分享给大家。希望能够有所收获。

java读取txt文件内容:

可以作如下理解:

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

2. 通过这条线路读取甲方的信息:new FileInputStream(file) 将这个信息读入内存中。接下来乙方可以需要解读成自己所理解的东西

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

4. 解读完成后输出。自然要转换成IO可以识别的数据。此时可以调用BufferedReader()的readline()方法读取txt文件中的每一行数据。

/**
 * @作者 whs
 * @创建日期 2015年1月28日
 * @版本 V 1.0
 */
package file.text;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;

/**
 * 功能:Java读取txt文件的内容 
 * 步骤: 
 * 1:先获得文件句柄 
 * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取
 * 3:读取到输入流后,需要读取生成字节流 
 * 4:一行一行的输出。readline()。
 * 备注:需要考虑的是异常情况
 * @param filePath
 */
public class TxtFile {
	public static void fileText(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[] args) {
		String filePath = "D:\\20121012.txt";
		fileText(filePath);
	}

}

 

posted @ 2015-01-28 15:46  梦之心上  阅读(365)  评论(0编辑  收藏  举报