Java中IO流知识点总结
一、流的分类
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();绝对路径
最新内容请见作者的GitHub页:http://qaseven.github.io/
【Java文件操作】手把手教你拿捏IO 流 哈喽,大家好~我是保护小周ღ,本期为大家带来的是 Java 文件操作,理解文件的概念以及,常用的操作文件的类和方法,FileInputStream 类 和 FileOutputStream , PrintWriter and Scnner, Reader and Wirter 确定不来看看嘛~ 更多精彩敬请期待:保护小周ღ *★,°*:.☆( ̄▽ ̄)/$:*.°★* ‘
java面试题(十一)IO流篇 3.1 介绍一下Java中的IO流 IO(Input Output)用于实现对数据的输入与输出操作,Java把不同的输入/输出源(键盘、文件、网络等)抽象表述为流(Stream)。流是从起源到接收的有序数据,有了它程序就可以采用同一方式访问不同的输入/输出源。 ● 按照数据流向,可以将流分为输入流和输出流,其中输入流只能读取数据、不能写入数据,而输出流只能写入数据、不能读取数据。 ● 按照数据类型,可以将流分为字节流和字符流,其中字节流操作的数据单元是8位的字节,而字符流操作的数据单元是16位的字符。 ● 按照处理功能,可以将流分为节点流和处理流,其中节点流可以直接从/向一个特定的I
相关文章
- Java 文档注释
- Win10 JAVA安装及环境搭建(windows jdk,windows java环境配置)
- java基础——构造函数小知识点
- 【JAVA】函数和构造函数的区别及相关应用实例(源代码实例,知识点有注释!)
- Java Date Time 教程-java.sql.Date
- JAVA基础--Java枚举+位操作,巧妙判断是否设置
- 最新秋招,Java八股文!含答案,JAVA核心知识点最详细版(面试必备)
- Java 面试越来越难,哪些知识点才是大厂喜欢问的?
- 【Java】java数据库连接池配置的几种方法
- Java程序设计学习知识点总结
- java学习笔记(4)
- 《Java EE 7精粹》—— 3.3 复合组件
- 《21天学通Java(第6版)》—— 1.7 问与答
- Java IDEA中设置导入import java.xx.*和设置导入具体的import java.xx.yy;
- 20个使用 Java CompletableFuture的例子
- java并发之SynchronousQueue实现原理
- java jjwt-api使用,java jwt使用,java jwt 工具类
- Java将引入新的对象类型来解决内存利用问题
- Java学习-084-java.sql.SQLException: Zero date value prohibited 问题解决
- Java集合篇:HashSet
- 『Java练习生的自我修养』java-se进阶⁵ • 常用IO流
- Java spring mvc jsp excel 导入
- Java魔法堂:打包知识点之jar
- Java空指针异常解决java.lang.NullPointerException解决心得
- java.lang.OutOfMemoryError: Java heap space错误及处理办法(收集整理、转)
- 解决Java使用response下载文件报错,并总结可能出错的原因: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
- 【Java I/O 流】文件的操作——java.io.File 类详解