黑马程序员——I/O
来源:互联网 发布:剑三纯阳成男脸型数据 编辑:程序博客网 时间:2024/04/30 01:12
(1)Input/Output
1,IO流用来处理设备之间的数据传输
2,Java对数据的操作是通过流的方式
3,Java用于操作流的对象都在IO包中
4,流按操作数据分为两种:字节流与字符流。
5,流按流向分为:输入流,输出流。
6,字节流的抽象基类:
•InputStream ,OutputStream。
7,字符流的抽象基类:
•Reader , Writer。
8,注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。
•如:InputStream的子类FileInputStream。前缀是该类的功能
•如:Reader的子类FileReader。
(2)程序书写步骤
1,导入IO包中的类
package cn.wms.io;import java.io.*;public class FileWriterDemo{public static void main(String[] args)throws IOException{FileWriter fw = new FileWriter("demo.txt");fw.write("wangmeisonghome");fw.flush();fw.write(" Welcome to notepad world!");fw.close();}}
new FileWriter("demo.txt"); //创建FileWriter对象,要明确该文件输出流要操作的文件,这个文件会被创建到指定的目录,如果目录下有同名文件将被覆盖。write(String str); //将字符串写到输出流中。flush(); //将流的缓冲中的数据刷到目的地close(); //将流资源关闭,关闭之前,将流的缓冲中的数据刷到目的地,关闭之后不能再对该流操作。
flush和close的区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭。
2,进行IO异常处理
package cn.wms.io;import java.io.*;class FileWriterDemo2{public static void main(String[] args){FileWriter fw = null; //对引用变量声明作用于整个main函数;try{fw = new FileWriter("k:\\demo.txt");// 对FileWriter对象初始化,编译结果:FileNotFoundExceptionfw.write("abcdefghijklmnopqrstuvwxyz!");}catch (IOException e){System.out.println(e.toString());}finally{try{if(fw!=null)fw.close(); //关闭流资源是必须要操作的,要判断,fw是否为空,否则NullPointerException}catch (IOException e){System.out.println(e.toString());}}}}
其他的FileWriter对象的方法:
package cn.wms.io;import java.io.*;public class FileWriterDemo3{public static void main(String[] args){FileWriter fw = null;char[] chs = {'H','e','l','l','o','!'};try{fw = new FileWriter("demo.txt",true);//true代表不覆盖已有的文件,在已有文件末尾处进行数据续写fw.write("avkjkljl;j;j.");//write(String);fw.write('z');fw.write('.'); //write(int );fw.write(chs); //write(char[]);fw.write(chs, 2,2); //write(char[], int offset, int len);}catch (IOException e){System.out.println(e.toString());}finally{try{if(fw!=null)fw.close();}catch (IOException e){System.out.println(e.toString());}}}}
3,在finally中对流进行关闭
思考:
•有了垃圾回收机制为什么还要调用close方法进行关闭。
•为什么IO异常一定要处理。
(3)FileWriter和FileReader
《1》FileReader 文件读取流
第一种方式读取文件:
package cn.wms.io;import java.io.*;public class FileReaderDemo{public static void main(String[] args)throws IOException{//创建一个文件读取流对象,和指定名称的文件相关联。//要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundExceptionFileReader fr = new FileReader("demo.txt");int ch=0;while((ch = fr.read())!=-1) //read();一次读取一个字符,而且会自动往下读。{System.out.println((char)ch);}}}
第二种读取文件:
package cn.wms.io;import java.io.*;public class FileReaderDemo2{public static void main(String[] args)throws IOException{FileReader fr = new FileReader("demo.txt");//定义一个字符数组。用于存储从文件中读到的字符。//该read(char[])返回的是读到字符个数。char[] buf = new char[1024];int num = 0;while ((num = fr.read(buf))!=-1){System.out.println(new String(buf,0,num));}fr.close();}}
- 黑马程序员—I/O
- 黑马程序员——I/O
- 黑马程序员——I/O
- 黑马程序员———I/O流
- 黑马程序员———I/O流
- 黑马程序员——java中的I/O流
- 黑马程序员——浅谈I/O流
- 黑马程序员-java基础——I/O
- 黑马程序员——I/O(输入/输出)流
- 黑马程序员——Java基础--- I/O输入输出流
- 黑马程序员——I/O流(一)
- 黑马程序员——I/O流(二)
- 黑马程序员——Java I/O与流
- 黑马程序员—java基础复习—I/O流
- 黑马程序员—JAVA基础之I/O
- 黑马程序员-java i/o
- 黑马程序员--I/O流
- 黑马程序员-----I/O流
- 转载:个图形爱好者的书架.-也来介绍一下我的藏书.
- 平衡二叉树的java实现
- [iOS]关于TableViewCell的理解以及reuseIdentifier的意义
- 零碎笔记
- 解决--“处理 function <SNR>19_Tlist_Refresh_Folds 时发生错误”的提示
- 黑马程序员——I/O
- 网页布局
- mac 下terminal 输入 svn ci命令的 提交失败的解决办法
- java synchronized详解
- C++ map的基本操作和使用
- 使用Netbeans进行PHP开发
- 地市政府网站群系统选型
- 【教你快速删掉XP系统历史记录】
- 内省的学习的java代码