黑马程序员_Java的IO系统

来源:互联网 发布:java程序员要学什么 编辑:程序博客网 时间:2024/05/17 07:22
------- android培训、java培训、期待与您交流! ----------


对于任何一门语言IO都是最重要的部分之一,因为它涉及到了文件的读写。


输入输出其实都是相对与Java程序而言的。

IO流的分类:

第一种:字节流,字符流
第二种:输入流,输出流
第三种:节点流,处理流

Java的IO当中主要有四大核心类:

InputStream 字节输入流,核心方法是read,是所有字节输入流的父类

                        //创建一个FileInputStreamFileInputStream fis = new FileInputStream("test.txt");//循环读取文本的字节while(true){//read方法每次读取一个字节,并返回为Unicode编码int i = fis.read();//如果已到达文件末尾,则返回 -1。 if(i == -1){break;}//输出返回值System.out.println("int->"+i);//输出转为char类型的返回值System.out.println("char->"+(char)i);

test.txt文件存储的内容:abc
运行结果:
int->97char->aint->98char->bint->99char->c
当读取不到字节时,read方法会返回-1。这种办法一次只能读取一个字节,如果想提高效率可以使用帶参数的read(byte[] b)方法:
<span style="white-space:pre"></span>//创建一个FileInputStreamFileInputStream fis = new FileInputStream("test.txt");//创建一个数组缓冲区byte [] a = new byte[3];//数组缓冲器设置给当前的read方法,得到的返回值是读入缓冲区的总字节数;//如果因为已经到达流末尾而不再有数据可用,则返回 -1。int  ai = fis.read(a);System.out.println("读取的字节数"+ai  );//打印数组,显示读取到的文本for(int i = 0 ; i< ai; i++){System.out.println((char)a[i]);}
运行结果:
读取的字节数3abc



OutputStream 字节输出流,核心方法是write,是所有字节输出流的父类

<span style="white-space:pre"></span>//创建对象,如果所要写入的文件不存在则创建,存在则创建一个新的覆盖FileOutputStream fos = new FileOutputStream("test.txt");//创建一个数组byte [] a = {1};//将数组写入的输出流的缓冲器fos.write(a);//刷新此输出流并强制写出所有缓冲的输出字节。fos.flush();//关闭此输出流并释放与此流有关的所有系统资源。fos.close();

在调用close方法之前会自动调用一次flush方法。



Reader 字符输入流,核心方法是read,是所有字符输入流的父类

用来写入字符文件的便捷类
<span style="white-space:pre"></span>     <span style="font-weight: normal;"> <span style="font-size:10px;">//创建对象FileReader fr = new FileReader("test.txt");//创建缓冲区  char[] buffer = new char[1024];  int ch = 0;//判读返回值是否是-1,如果不是就不停的读入  while((ch = fr.read())!=-1 ){   <span style="white-space:pre"></span>System.out.print((char)ch);  }</span></span>

Writer 字符输出流,核心方法是write,是所有字符输出流的父类
<span style="white-space:pre"></span>//新建一个FileWriterFileWriter fw=new FileWriter("test.txt");String str="abcdefg";//将字符串写入到指定的路径下的文件中fw.write(str);//关闭流对象fw.close();

------- android培训、java培训、期待与您交流! ----------
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 第一天上班交接完工作想辞职怎么办 POS机刷卡成功没打出单子怎么办 建行买的理财保险单子丢了怎么办 退休老师饭卡的钱突然少了怎么办 背驼得厉害头低的厉害怎么办 被别人举报自己碰瓷了怎么办 苹果平板微信屏幕不是全屏怎么办 大冒险告白被接受了怎么办在线阅读 手机屏锁图案密码忘了怎么办 opp手机锁屏密码忘了怎么办 宝宝的玩具里面脏了洗不到怎么办 早上起来眼睛被眼屎粘住了怎么办 魔兽世界神器满级任务放弃了怎么办 魔兽世界神器满级任务没接到怎么办 情侣空间上的照片删了怎么办 微信好友群群主把你踢出房间怎么办 我被车撞了对方把现场破坏该怎么办 美术生专业分可以文化分不行怎么办 小狗又吐又拉不吃东西怎么办 狗狗把脖子挠破了怎么办 几分钟我的手机疯狂收到短信怎么办 初中孩子沉迷动漫及画动漫画怎么办 打仗在派出所保释出来人跑了怎么办 贴门槛石瓷砖贴多了要怎么办 建设银行中职学生资助卡丢了怎么办 建行网银u盾丢了怎么办 深水区换气时喝了口水怎么办 撞到别人车了 我走了 怎么办 自己班同学被自己取好多外号怎么办 刚学会走路的宝宝脚外八字怎么办 宝宝两岁走路膝盖弯曲不直怎么办 一岁多的宝宝走路o型腿怎么办 21个月的宝宝走路o型腿怎么办 宝宝十一个月了0型腿怎么办 14个月宝宝o型腿怎么办 深蹲了三个月大腿变粗了怎么办 脚踢球时被踢肿了变紫了怎么办 没钱去健身房想要练出好身材怎么办 群里有人发反政府视频怎么办 部队取消番号后之前军人档案怎么办 新疆武警黄金部队新兵改革后怎么办