黑马程序员——JAVA学习笔记(五)

------- android培训、java培训、期待与您交流! ----------


五、文本文件的读取

java读取文件内容。可以作如下理解:
首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。
通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西。
既然你使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据。
解读完成后要输出呀。那当然要转换成IO可以识别的数据呀。那就需要调用字节码读取的方法BufferedReader()。同时使用bufferedReader()的readline()方法读取txt文件中的每一行数据哈。


5.1、Reader()类

(1)、单字符读取

用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。要自己指定这些值,可以先在 FileInputStream 上构造一个 InputStreamReader。 

使用示例:

class FilerReader
{
	public static void main(String[] args) throws IOException
	{
		//创建一个文件读取流对象,和制定名称的文件相关联。
		//要保证该文件是已经存在的,果然不存在,会发生异常FileNotFoundException
		FileReader fr = new FileReader("demo.txt");
		
		//调用读取流Read()的方法
		//Read()方法一次读取一个字符,而且会自动往下读
		int ch = 0;
		while((ch = fr.read())!= -1)
		{
			System.out.print("ch=" + ch);
		}	

		fr.close();
	}
}

(2)、字符串读取

将字符读入数组中的某一部分。

使用示例:

class FilerReader
{
	public static void main(String[] args) throws IOException
	{
		FileReader fr = new FileReader("demo.txt");
		
		//定义一个字符数组,用于存储读到的字符
		//该Read(char[])返回的是独到字符的个数
		char[] buf = new char[1024];

		int num = 0;
		while((num = fr.read(buf))!= -1)
		{
			System.out.print(new String(buf,0,num));
		}		

		fr.close();
	}
}


5.2、个人总结

文件的读取是在开发过程中必不可少的一换。增删改查可以说是所有程序都需要有的功能,通过系统的学习文本文件的读取,可以发现通过转换成IO可以识别的数据来达到文件读取的目的。



你可能感兴趣的:(黑马程序员——JAVA学习笔记(五))