in输入(读取),out输出(写入)
流的分类:
节点流:连接数据源的流
过滤流:对其他流进行了封装
数据:字节流、字符流
1.FileInputStream/FileOutputStream
节点流、字节流
public class Demo01 { public static void main(String[] args) throws Exception { //创建流 File file = new File("file1.txt"); //健壮性判断:如果file表示的文件不存在就创建 if (!file.exists()){ file.createNewFile(); } //创建的in输入流,可以读取文件的内容 FileInputStream in = new FileInputStream(file); //一次读取一个 /* 方式一 */ //int i = in.read();//一次读取一个字节byte,读取不到返回-1 // while (i!=-1) { // System.out.println((char) i); // i = in.read();//一次读取一个字节byte,读取不到返回-1 //} int i = -1; while ((i=in.read())!=-1){ System.out.println((char)i); } //流使用完了:关闭流,释放资源 in.close(); } }
字节输出流:写入
public class Demo02 { public static void main(String[] args) throws Exception { //创建输出流 写入数据到文件 FileOutputStream out = new FileOutputStream("file1.txt"); //写入数据到文件 out.write(97);//a out.write('b');//b //因为一个中文字符2字节,写入时截断了 out.write('正');//正 out.write('义');//义 //流使用完了:关闭流,释放资源 out.close(); } }