Java IO操作总结
来源:互联网 发布:js模拟小球掉落动画 编辑:程序博客网 时间:2024/06/05 01:18
IO 就是Input和Output的缩写
使用较多的是对文件的操作:字节流和字符流
1.字符流有两个抽象类:Writer Reader
其对应子类FileWriter和FileReader可实现文件的读写操作
BufferedWriter和BufferedReader能够提供缓冲区功能,用以提高效率
2.字节流也有两个抽象类:InputStream OutputStream
其对应子类有FileInputStream和FileOutputStream实现文件读写
BufferedInputStream和BufferedOutputStream提供缓冲区功能
3.什么时候该使用字符流,什么时候又该使用字节流呢?
所谓字符流,肯定是用于操作类似文本文件或者带有字符文件的场合比较多
而字节流则是操作那些无法直接获取文本信息的二进制文件,比如图片,mp3,视频文件等
在硬盘上都是以字节存储的,字符流在操作文本上面更方便一点而已
4.为什么要利用缓冲区呢?
试想一下,如果一有数据,不论大小就开始读写,势必会给硬盘造成很大负担,
人不也一样,一顿饭不让你一次吃完,每分钟喂一勺,你怎么想?
因此,采用缓冲区能够在读写大文件的时候有效提高效率
Exzample 1 读取文件
import java.io.File; import java.io.FileWriter; import java.io.IOException; public class Demo { public static void main(String[] args ) { //创建要操作的文件路径和名称 //其中,File.separator表示系统相关的分隔符,Linux下为:/ Windows下为:\\//System.getProperty("user.dir")获取当前工程的根目录 String path = System.getProperty("user.dir") + File.separator + "src" + File.separator + "main" + File.separator + "resources" + File.separator + "filepath" + File.separator + "test.txt"; //由于IO操作会抛出异常,因此在try语句块的外部定义FileWriter的引用 FileWriter w = null; try { //以path为路径创建一个新的FileWriter对象 //如果需要追加数据,而不是覆盖,则使用FileWriter(path,true)构造方法 w = new FileWriter(path); //将字符串写入到流中,System.getProperty("line.separator")表示换行 w.write("What a beautyful day!"); w.write(System.getProperty("line.separator")); //如果想马上看到写入效果,则需要调用w.flush()方法 w.flush(); } catch (IOException e) { e.printStackTrace(); } finally { //如果前面发生异常,那么是无法产生w对象的 //因此要做出判断,以免发生空指针异常 if(w != null) { try { //关闭流资源,需要再次捕捉异常 w.close(); } catch (IOException e) { e.printStackTrace(); } } } } }Exzample 2 字节流的缓冲区文件复制
//其他部分代码参考Exzample 1BufferedInputStream bi = new BufferedInputStream(new FileInputStream(src));BufferedOutputStream bo = new BUfferedOutputStream(new FileOutputStream(copy));byte[] buf = new byte[1024];int temp = 0;while((temp = bi.read(buf)) != -1){ bo.write(buf,0,temp);}
ITeye博客不再使用,部分文章迁移到CSDN
0 0
- Java IO操作总结
- java io操作总结
- java io文件操作总结
- [转]总结:Java IO操作
- java中的IO操作总结
- Java之IO操作总结
- Java之IO操作总结
- java的IO操作总结
- java的IO操作总结
- Java的各种IO操作总结
- 黑马程序员 java IO流操作总结
- java中的IO操作总结(一)
- DAY19--java中的IO操作总结
- JAVA之IO技术的操作总结
- java中的IO操作总结(一)
- java中的IO操作总结(一)
- java中的IO操作总结(二)
- java中的IO操作总结(三)
- android异常:uncaught exception
- 关于ajax异步提交到后台的jquery应用
- spring中IOC是什么意思 个人觉得解释的非常有意思
- 三维机械设计图形工作站SolidWorks 2014 3D CAD应用方案
- Laravel中URL,ACTION,ROUTE区别
- Java IO操作总结
- SSH中的jar包讲解(摘自csdn)
- function类型
- Java垃圾回收机制与引用类型
- spring中IOC是什么意思 个人觉得解释的非常有意思
- 设计模式详解——Builder
- holeview
- java连接Hbase数据报java.lang.NullPointerException空指针异常解决办法
- 【Oracle】Oracle如何实现创建数据库、备份数据库及数据导出导入