"黑马程序员"Java IO流
来源:互联网 发布:网络机柜插座接线图 编辑:程序博客网 时间:2024/03/29 22:18
------- android培训、java培训、期待与您交流! ----------
1.IO流:
IO流用来处理设备之间的数据传输
Java对数据的操作时通过流的方式
Java用于操作流的对象都在IO包中
流按操作数据分为两种,字节流与字符流
流按流向分为:输入流,输出流
2.IO流常用基类
2.1字节流的抽象基类
InputStream OutputStream
2.2字符流的抽象基类
Reader Writer
注::由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。
如:InputStream的子类FileputStream、Reader的子类FIleReader
import java.io.*;class FileWriterDemo{public static void main(String[] args) throws IOException{//创建一个FileWriter对象。该对象一被初始化就必须要明确被操作的文件。//而且该文件会被创建到指定目录下。如果该目录下已有同名文件,将被覆盖。//其实该步就是在明确数据要存放的目的地。FileWriter fw = new FileWriter("demo.txt");//调用write方法,将字符串写入到流中。fw.write("abcde");//刷新流对象中的缓冲中的数据。//将数据刷到目的地中。//fw.flush();//关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据。//将数据刷到目的地中。//和flush区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭。fw.close();}}3.复制文件:
复制的原理:其实就是将一个盘下的文件数据存储到另一个盘中的一个文件中。
步骤:
3.1在盘中创建一个文件,用于存储盘中的文件中的数据
3.2定义读取流和盘中的文件关联
3.3通过不断的读写完成数据存储。
import java.io.*;class CopyText {public static void main(String[] args) throws IOException{copy_2();}public static void copy_2(){FileWriter fw = null;FileReader fr = null;try{fw = new FileWriter("SystemDemo_copy.txt");fr = new FileReader("SystemDemo.java");char[] buf = new char[1024];int len = 0;while((len=fr.read(buf))!=-1){fw.write(buf,0,len);}}catch (IOException e){throw new RuntimeException("读写失败");}finally{if(fr!=null)try{fr.close();}catch (IOException e){}if(fw!=null)try{fw.close();}catch (IOException e){}}}//从C盘读一个字符,就往D盘写一个字符。public static void copy_1()throws IOException{//创建目的地。FileWriter fw = new FileWriter("RuntimeDemo_copy.txt");//与已有文件关联。FileReader fr = new FileReader("RuntimeDemo.java");int ch = 0;while((ch=fr.read())!=-1){fw.write(ch);}fw.close();fr.close();}}4.字符流的缓冲区
缓冲区的出现提高了对数据的读写效率
对应类:bufferedWriter BufferedReader
缓冲区要结合流才可以使用
在流的基础上对流的功能进行了增强。
/*字符读取流缓冲区:该缓冲区提供了一个一次读一行的方法 readLine,方便于对文本数据的获取。当返回null时,表示读到文件末尾。readLine方法返回的时候只返回回车符之前的数据内容。并不返回回车符。*/import java.io.*;class BufferedReaderDemo{public static void main(String[] args) throws IOException{//创建一个读取流对象和文件相关联。FileReader fr = new FileReader("buf.txt");//为了提高效率。加入缓冲技术。将字符读取流对象作为参数传递给缓冲对象的构造函数。BufferedReader bufr = new BufferedReader(fr);String line = null;while((line=bufr.readLine())!=null){System.out.print(line);}bufr.close();}}
0 0
- 黑马程序员 Java IO流
- 黑马程序员--Java IO流
- 黑马程序员----Java(IO流)
- 黑马程序员---IO流【java】
- 黑马程序员-java IO流
- 黑马程序员-java IO流
- 黑马程序员-java-流(IO)
- 黑马程序员 Java--IO流
- 黑马程序员--java IO流
- 黑马程序员--JAVA<IO流>
- 黑马程序员-----java-Io流
- 黑马程序员-java IO流
- "黑马程序员"Java IO流
- 黑马程序员--Java--IO流
- 《黑马程序员》Java IO流
- 黑马程序员---java io
- 黑马程序员--Java IO
- 黑马程序员--IO(Java)
- “黑马程序员”正则表达式
- CentOs6.5下的网络配置
- [corefx注释说]-System.Collections.Generic.Stack<T>
- [异能程序员]第一章 酒后事发(第一更)
- MVC过滤器 OnActionExecuting() 在过滤器中获取触发控制器,Action 等
- "黑马程序员"Java IO流
- pceluqjhau
- C++读书笔记——静态与动态绑定
- c++读书笔记——多重继承
- C#中堆和栈的区别分析
- 从Linux 2.6.8内核的一个TSO/NAT bug引出的网络问题排查观点(附一个skb的优化点)
- 极路由3与存储的适配规划
- 虚幻引擎4 DEMO打包下载
- 史上最全的程序员求职渠道总结