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 1 BufferedInputStream 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); }
相关推荐
关于Java的IO操作的总结,希望能帮助到大家
最新的java io流总结,希望大家花时间耐心的看看,同时也写点实例,不要光看!
全面总结了java IO,是一个学习IO较好的资料
java中的IO操作总结(四) 前面已经把java io的主要操作讲完了 这一节我们来说说关于java io的其他内容 Serializable序列化 实例1:对象的序列化 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23...
JAVA_IO操作总结——节点流和处理流.pdf JAVA_IO操作总结——节点流和处理流.pdf
java中的IO操作总结(一) 所谓IO,也就是Input与Output的缩写。在java中,IO涉及的范围比较大,这里主要讨论针对文件内容的读写 其他知识点将放置后续章节(我想,文章太长了,谁都没耐心翻到最后) 对于文件内容...
详解Java I/O相关知识点.学习Java语言IO的数据流概念,讲述了每个类的具体应用范围,IO基本概念,输入输出流的处理,并且给出众多的实例代码。 。
java I/O流的总结 1.操作数据单位:字节流、字符流 对于文本文件(.txt,.java,.c,.cpp),使用字符流处理 对于非文本文件(.jpg,.mp3,.mp4,.avi,.doc,.ppt,...),使用字节流处理 2.数据的流向:输入流、输出流 ...
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。
自已写了一个JAVA IO流的增删改查操作, 算是对IO的总结吧,初学者可以看下!
Java IO 体系 - Java IO 体系 - 传统的 BIO - BIO NIO 和 AIO 的区别 - 什么是流 - 流的分类 - 节点流和处理流 - Java IO 的核心类 File - Java IO 流对象 - 字节流对象 - InputStream - OutputStream -...
java IO流总结文档。总要总结了 java IO 流的主要基本操作和使用到的类及方法。对于入门比较有用,如果对 IO 流比较了解,就没必要看了。
IO从大的方向上分为字节流和字符流,包括四个抽象类: 1、输入:Reader, InputStream类型的子类(字符,字节) 2、输出:Writer, OutputStream类型的子类(字符,字节) 决定使用哪个类以及它的构造进程的一般...
java io 操作的一个总结,对于初学java的朋友是十分有帮助的
Java IO流学习总结 Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据...
完整的文件io 流操作,有四个函数, Writer read inputStream outputStream自己总结的东东,让大家用用,不图得分,
Java学习更是如此,知识点总结目录如下: 目录 一、 Java概述 3 二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 ...
《Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else ...
javaio文件操作工具类,集成小部分对目录操作的方法,平时工作中学习中总结的部分方法方便大家使用~不妥之处望大家指教谢谢~!
Java-IO流/Stream流总结,内容一针见血,没有废话,言简意赅 内容:IO流及其分类、分类比较、转换流、缓存流、IO流异常处理、Stream流、Properties教程等。 适合人群:有编程基础及Java基础伙伴 适用场景:Java中的...