package com.test.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.junit.Test;
/**
* 从程序的角度考虑流的input和output
* 按操作数据单位不同分为:字节流 1字符=2字节
* 按数据流的流向不同分为:输入流,输出流
* 按流的角色不同分为;节点流,处理流
* 抽象基类 字节流 字符流
* 输入流 InputStream Reader
* 输出流 OutputStream Writer
*
* 由这四个类派生出来的子类名称都是以其父类名作为子类的后缀的
* 节点流(4个): FileInputStream FileOutputStream
* FileReader FileWriter
*/
public class TestFileStream {
@Test
public void testFileInput(){
File file = new File("H:/javatext/aa.txt");
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
byte[]b = new byte[5];//要读取的数据要写入的数组
int len;//每次读入都byte中的字节长度
//一次写入20个字符
while((len = fis.read(b)) != -1){
for(byte b1:b){
System.out.print((char)b1);
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(fis!=null){
fis.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void testFile() throws Exception{
//存在的文件,读取内容到程序中
//1.创建一个文件File
File file = new File("H:/javatext/aa.txt");
//创建FileInputStream对象
FileInputStream fis = new FileInputStream(file);
//3.调用方法实现读取文件 read 读取文件的字节 -1代表结束
/* int b = fis.read();
while(b != -1){
//返回的ASll 需要强转
System.out.print((char)b);
b = fis.read();
}*/
int b;
while((b = fis.read()) != -1 ){
System.out.print((char)b);
}
//4.关闭响应的流 不会自动的关闭流
fis.close();
}
}
java IO总结(3)
最新推荐文章于 2024-06-25 15:22:04 发布