`
tomcat_oracle
  • 浏览: 311206 次
社区版块
存档分类
最新评论

Java中IO流知识点总结

    博客分类:
  • Java
阅读更多
一、流的分类
  1、按功能分
  读取流:InputStream Reader
  写出流:OutPutStream Writer
  2、按流的类型分类
  字节流:InputStream OutputStream
  字符流:Reader    Writer
  二、流功能分析
  读取流是从输入设备或数据对象中读取数据到程序,用程序进行处理读入的数据,写出流是把程序处理的数据输出到
  输出设备上比如硬盘和控制台。
  字节流读取和写入的数据单位是字节,可以读取和写入任何类型的数据。字符流读取跟写入的数据单位是字符,只能
  读取和
  写入文本类型的数据。当需要读取或写入文本型的数据时要用字符流,因为它会比字节流读写字符更方便和高效,相反当数
  据不是文本型时只能用字节流来读取跟写入。
  三、流中读写方法的示例。(当用到IO流时就有可能出现IO异常,所以需要处理可能的异常)
  字节流:
  FileOutputStream fos = new FileOutputStream("D://xxx.xxx");
  fos.write("dsfdsf".getBytes());//写入字节数组
  fos.close();           //用完后需要关闭流,释放资源。字节流不需要Flush
  FileInputStream fis = new FileInputStream("D://xxx.xxx");
  fis.read();       //读取一个字节
  fis.close();
  字符流:
  FileWriter fw = new FileWriter("D:\\xxx.txt");
  fw.write("sdfsdfsdf");//可以直接写入字符串
  fw.flush();         //写完后需要Flush,才能真正写道输出设备
  fw.close();         //close()时也会Flush。
  FileReader fr = new FileReader("D:\\xxx.txt");
  fr.read(char[] ch);//可以读取一个字符数组的内容
  fr.close();
  四、转换流
  当需要流之间的转换时会用到转换流。
  1、把字节读取流转换成字符读取流
  InputStreamReader isr = new InputStreamReader(new FileInputStream("xxx.xxx"));
  2、把字符输出流转化成字节输出流
  OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("xx.xxx"));
 五、缓冲流
  需要提高流的读写效率时会用到缓冲流
  1、字节缓冲流
  BufferedInputStream bis = new BufferedInputStream(new FileInputStream("xx"));
  BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("xx"));
  2、字符缓冲流
  BufferedReader br = new BufferedReader(new FileReader("xx.txt"));
  BufferedWriter bw = new BufferedWriter(new FileWriter("xx.txt"));
  缓冲流对读写功能进行了增强,而且使用缓冲技术提高了读写效率,所以当需要提高程序的读写效率时要使用缓冲流。
  六、File类的使用
  1、创建
  boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。
  和输出流不一样,输出流对象已建立创建文件。而且文件已经存在,会覆盖。
  boolean mkdir()创建文件夹
  boolean mkdirs() 创建多级文件夹
  2、删除。
  boolean delete();删除失败时返回false。如果文件正在被使用,则删除不了返回false。
  void deleteOnExit();在程序退出时删除指定文件。
  3、判断
  boolean exists();文件是否存在。
  isFile():是不是文件
  isDirectory();是不是文件夹
  isHidden();是不是隐藏文件
  isAbsolute();是不是绝对路径
  4、获取信息
  getName();文件名
  getPath();文件路径
  getParent();上一层路径
  getAbsolutePath();绝对路径
4
1
分享到:
评论
2 楼 我叫PSB 2014-05-18  
对于初学者来说,帮助还是挺大的
1 楼 不思量0211 2014-05-02  
很好的I/O流内容

相关推荐

    Java知识点总结大全(五) -- IO流.xmind

    Java知识点总结大全(五) -- io流,关注后面会分享面向对象,io,集合,多线程,网络,sql的总结

    Java基础知识点总结.docx

    Java学习更是如此,知识点总结目录如下: 目录 一、 Java概述 3 二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 ...

    Java知识点总结2019

    Java知识点总结2019,其中包括了基础、面向对象、api部分、集合类、多线程、GUI、Jdbc、网络编程、io流。

    2017Java软件工程师面试知识点总结

    Java基础知识点总结,适应于面试。知识点包括Java基础,什么是面对对象、IO流、反射、线程、数据库、工厂模式、SSH框架的区别和联系、一些常见的面试经典问题

    IO流的试题总结,字节流字符流相关的知识点

    IO流学习第二周的考核总结,避免再次入坑,留下记录

    java中的IO操作总结(一)

    java中的IO操作总结(一) 所谓IO,也就是Input与Output的缩写。在java中,IO涉及的范围比较大,这里主要讨论针对文件内容的读写 其他知识点将放置后续章节(我想,文章太长了,谁都没耐心翻到最后) 对于文件内容...

    java各知识点详细总结(毕向东笔记整理)

    java各知识点详细总结(毕向东笔记整理)。第一章:编程基础 3-11 第二章:数组 11 -31 第三章:面向对象程序开发 31 -74 第四章:异常机制 74 -89 第五章:多线程技术 89 -122122122 第六章:常用类 API 122API 122 ...

    JavaIO总结思维导图

    java基础中的IO流部分的总结,有详细的知识点描述,思维导图的整体框架

    java IO NIO AIO.xmind

    涉及到java io, nio, aio相关知识点,学习过程中的一些总结,持续更新中,xmind 格式

    javaOOP文档、知识点总结.CHM

    本文档总结javaOOP所有关键知识,包括java基础知识、面向对象、常用API、多线程、集合、IO、泛型、枚举、反射、注解等概念性知识。

    Java_IO操作总结

    详解Java I/O相关知识点.学习Java语言IO的数据流概念,讲述了每个类的具体应用范围,IO基本概念,输入输出流的处理,并且给出众多的实例代码。 。

    Java复习笔记/Java知识点总结

    这里面由我自己总结的一些Java知识点。 同时附赠一份我学习的资料,是github上的一位大神写的,非常棒的笔记,力荐!总结了Java知识、IO、http、socket、redis、git、docker,设计层次比较全,大家可以下载看看,...

    java-IO流与异常机制学习笔记

    自己总结,知识点全面,包含了,IO流,异常机制等学习笔记 含有代码实例可供参考,需要mybase打开 持续更新,需要的自行下载 附上本人写的学习博客 https://blog.csdn.net/qq_35577787/article/details/105088073

    Java知识点总结大全(六) -- 网络图谱.xmind

    Java知识点总结大全(六) -- 网络图谱.xmind,关注后面会分享面向对象,io,集合,多线程,网络,sql的总结

    Java知识点总结大全(二) -- 面向对象.xmind

    Java知识点总结大全(二) -- 面向对象,关注后面会分享面向对象,io,集合,多线程,网络,sql的总结

    「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试,首选.zip

    Java 基础常见知识点&面试题总结(中) Java 基础常见知识点&面试题总结(下) 重要知识点详解 : 为什么 Java 中只有值传递? Java 序列化详解 泛型&通配符详解 Java 反射机制详解 Java 代理模式详解 BigDecimal 详解 ...

    「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识

    Java 基础常见知识点&面试题总结(中) Java 基础常见知识点&面试题总结(下) 重要知识点详解: 为什么 Java 中只有值传递? Java 序列化详解 泛型&通配符详解 Java 反射机制详解 Java 代理模式详解 BigDecimal 详解 ...

    JAVA面试核心知识点整理283页-2020.pdf.zip

    java面试各大知识点,非常齐全。jvm内存分区,gc算法,类加载机制。并发编程,并发编程各大容器,锁。框架spring mybatis原理,组件介绍。架构设计有设计模式,负载均衡。网络有协议,java 高并发io框架netty。数据...

Global site tag (gtag.js) - Google Analytics