彦舜原创,CSDN首发:API。IO中,读取字符流的普通读取工具类FileReader与高效读取工具类BufferedReader,字节读取流普通读取类与高效读取类(文末有彩蛋)

/**
 * 
 */
package api.io.readers;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

/**
 * 这个类用来测试字符读取流的使用
 */
public class Test1_Reader2 {

	/**
	 * 
	 */
	public Test1_Reader2() {
		
	}

	/**
	 * 日常小黄线:The  value of the local variable field is not used;
	 * 日常小注解:Add @SuppressWarnings 'unused' to main()/method()/field;
	 * 日常小注解:Add @SuppressWarnings 'deprecation' to main()/method()/field;
	 * 日常小注解:Add @SuppressWarnings 'resource' to main()/method()/field;
	 * 日常小注解:Add @SuppressWarning 'null' to main()/method()/field;
	 * 日常小注解:@SuppressWarnings("resource") == @SuppressWarnings({ "resource" })
	 * 日常小异常:Exception--API(IO)IOException--FileNotFoundException
	 */
	public static void main(String[] args){
		//普通字符流读取文件:FileReader
		//method();
		//高效字符读取流:BufferedReader
		method2();
	}
	
	public static void method2() {
		//2、捕捉处理异常
		try {
			//1、创建高效读取流工具类BufferedReader对象,建立磁盘文件与程序的数据连接流动通道,把数据从磁盘文件读入程序中,并运行。注意运行前,应先关闭通道,防止资源泄露缺失。
			Reader reader3;
			reader3 = new BufferedReader(new FileReader("E:\\JavaDevelopmentEngineer\\java\\JDK\\Jdk1.8\\Temps\\Tmooc2002\\Workspaces\\bin\\io\\IONewFile()_2.txt"));
			
			//4、磁盘文件已经与程序建立了链接通道,接下来对磁盘文件中的数据进行读取,经过传输通道reader3进入本程序并执行,最后打印显示读取传输效果。
//			System.out.println(reader3.read());
//			System.out.println(reader3.read());
//			System.out.println(reader3.read());
//			System.out.println(reader3.read());
//			System.out.println(reader3.read());
			
			//5、字符流读取磁盘文件数据经过通道reader3进入程序时,如若文件数据已经读完仍要读取时,返回-1
//			System.out.println(reader3.read());
			
			//6、创建一个变量,记录每读取一次文件中数据返回的内容,并打印输出显示
			int i = 0;
			do {
				System.out.println(i);
			}while((i=reader3.read()) != -1);
			
			//3、通道中,数据读取传输完毕,关闭通道,防止程序执行时资源缺失不完整
			reader3.close();
		}catch(IOException e) {
			e.printStackTrace();
		}
	}
	
	
	//@SuppressWarnings({ "resource" })
	public static void method(){
		//1、创建Reader工具类实例化对象,通过子类InputStreamReader对象的向上转型,即多态
		Reader reader;
		Reader reader2;
		
		//6、捕捉处理异常
		try {
			reader = new FileReader(new File("E:\\JavaDevelopmentEngineer\\java\\JDK\\Jdk1.8\\Temps\\Tmooc2002\\Workspaces\\bin\\io\\IONewFile()_2.txt"));
			reader2 = new FileReader("E:\\JavaDevelopmentEngineer\\java\\JDK\\Jdk1.8\\Temps\\Tmooc2002\\Workspaces\\bin\\io\\IONewFile()_2.txt");
			
			//3、通过创建对象,工具类对应的对抽象路径的包装,并建立的电脑磁盘与程序间的通道,从电脑磁盘,程序进行数据读取,最后打印显示
			System.out.println(reader2.read());
			System.out.println(reader2.read());
			System.out.println(reader2.read());
			System.out.println(reader2.read());
			System.out.println(reader2.read());
			
			//5、字符读取流中,当文件中没有数据可读仍读时,同样返回-1
			System.out.println(reader2.read());
			System.out.println(reader2.read());
			
			//4、循环读取文件中数据的字节属性,流入程序,并打印显示
			//声明一个变量,记录循环中变化着的值
			int i = 0;
			while((i = reader.read()) != -1) {
				System.out.println(i);
			}
			
			//2、关闭数据流动传输通道,以防此次或者下一次程序执行时数据缺失泄露,不完整
			reader.close();
			reader2.close();
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	//http://www.enjoybar.com/content/329372.html
}

彦舜原创,CSDN首发:许久不发表文章了,感觉Java基础一过,后面的诸如线程、API等,没什么需要着重的地方,都是对前面所学的Java基础更复杂的运用。所以,学好Java,基础是重中之重。所以,学好任何一门编程语言,基础是重中之重。工作尤为如此。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值