package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
public class IO输入流 {
/* 建立文件联系
选择流
选择接受数组的大小
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File src =new File("d:/test/a.txt");//建立联系file对象
InputStream is=null; //提升作用域
try {
is=new FileInputStream(src);//选择流
byte[] car =new byte[10];//选择接受数组大小
int len =0;
try {
while(-1!=(len=is.read(car))){
//从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中,返回字节的数量
//没有数据时返回-1
String info =new String(car,0,len);
//通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String
System.out.println(info);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("读取文件失败");
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("文件不存在");
}finally{
//释放资源
try {
if(null != is){
is.close();
}
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("关闭文件输入流");
}
}
}
}
输入流
package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class IO输入流 {
/* 建立文件联系
选择流
选择接受数组的大小
释放资源
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File src =new File("d:/test/a.txt");//建立联系file对象(程序与输出文件)
OutputStream os=null; //提升作用域
try {
os=new FileOutputStream(src,true);//选择输出流
//操作
String str="io is very important";//要写出的文件
//字符串转字节数组
byte[] data=str.getBytes();
os.write(data, 0, data.length);
//使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。
os.flush();
//强制刷新出去
}catch (IOException e){
e.printStackTrace();
}
finally{
//释放资源
try {
if(null != os){
os.close();
}
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("关闭文件输入流失败");
}
}
}
}
输出流