FileReaer读入数据的基本操作

package gangzi;

import org.junit.Test;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/**
* 1.流的分类
* 操作数据单位不同:字节流,字符流
* 数据的流向:输入流,输出流
* 流的角色:节点流,和处理流
* 二,流的体系结构
* 抽象基类 节点流(或文件流) 缓存流(处理流的一种)
* IntputStream FileInputStream BufferedInputStream
* OutputStream FileOUtputStream BufferedOutputStream
* Reader FileReader BufferedReader
* Writer FileWriter BuffereWriter
*
*/
public class FileReaderWriterTest {
public static void main(String[] args) {
File file = new File("Helloc.txt");//相较于当前工程
System.out.println(file.getAbsolutePath());
File file1 = new File("untitled3//Helloc.txt");

}

/**
* 将untitled3包下的Helloc.txt读取,输入到控制台
* 说明点
* read()的理解;返回读入的一个字符,如果达到文章末尾,返回一个-1
* 异常的处理;为了包装资源一定可以执行关闭操作,需要使用try-catch-finally处理
* 读入的文件一定要存在,否则就会报FileNotFoundExeeption
*/
@Test
public void tesfFileReader() {
//1.实例化file类的对象,指明要操作的文件
File file = new File("Helloc.txt");//相较于当前Module
//2.提供具体的流
FileReader fr = null;
try {
fr = new FileReader(file);

//3.数据的读入
//read()返回一个数组,如果达到文章末尾 ,返回-1
/* 方式1
int date= fr.read();
while (date != -1){
System.out.print((char)date);
date = fr.read();
}*/
//方式二
int date;
while ((date = fr.read())!=-1){
System.out.print((char)date);
}
} catch (IOException e) {
e.printStackTrace();
} finally {//4.流的关闭


}
if(fr!=null){
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}


}
}

FileReaer读入数据的基本操作

上一篇:ASP.NET Web API Model-ModelBinder


下一篇:内存回收相关的指标