`
苏溪风
  • 浏览: 687 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java IO操作总结

    博客分类:
  • J2SE
 
阅读更多

IO 就是Input和Output的缩写

使用较多的是对文件的操作:字节流和字符流

    1.字符流有两个抽象类:Writer   Reader

其对应子类FileWriterFileReader可实现文件的读写操作

BufferedWriterBufferedReader能够提供缓冲区功能,用以提高效率

    2.字节流也有两个抽象类:InputStream   OutputStream

其对应子类有FileInputStreamFileOutputStream实现文件读写

BufferedInputStreamBufferedOutputStream提供缓冲区功能

    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);
}

 

 

 

 

分享到:
评论

相关推荐

    JAVAIO操作总结

    关于Java的IO操作的总结,希望能帮助到大家

    java io 操作总结

    最新的java io流总结,希望大家花时间耐心的看看,同时也写点实例,不要光看!

    java IO操作总结

    全面总结了java IO,是一个学习IO较好的资料

    java中的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操作总结——节点流和处理流.pdf

    java中的IO操作总结(一)

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

    Java_IO操作总结

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

    java IO流总结.md

    java I/O流的总结 1.操作数据单位:字节流、字符流 对于文本文件(.txt,.java,.c,.cpp),使用字符流处理 对于非文本文件(.jpg,.mp3,.mp4,.avi,.doc,.ppt,...),使用字节流处理 2.数据的流向:输入流、输出流 ...

    Java IO流学习总结

    流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 

    JAVA IO流的增删改查

    自已写了一个JAVA IO流的增删改查操作, 算是对IO的总结吧,初学者可以看下!

    Java IO 体系.md

    Java IO 体系 - Java IO 体系 - 传统的 BIO - BIO NIO 和 AIO 的区别 - 什么是流 - 流的分类 - 节点流和处理流 - Java IO 的核心类 File - Java IO 流对象 - 字节流对象 - InputStream - OutputStream -...

    JAVA_IO详解_包括讲解IO中各种流及其用法.pdf

    java IO流总结文档。总要总结了 java IO 流的主要基本操作和使用到的类及方法。对于入门比较有用,如果对 IO 流比较了解,就没必要看了。

    java IO章节的总结

    IO从大的方向上分为字节流和字符流,包括四个抽象类: 1、输入:Reader, InputStream类型的子类(字符,字节) 2、输出:Writer, OutputStream类型的子类(字符,字节) 决定使用哪个类以及它的构造进程的一般...

    java io 总括

    java io 操作的一个总结,对于初学java的朋友是十分有帮助的

    Java之IO流学习总结

    Java IO流学习总结 Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据...

    java 复制文件 io流操作

    完整的文件io 流操作,有四个函数, Writer read inputStream outputStream自己总结的东东,让大家用用,不图得分,

    Java基础知识点总结.docx

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

    Java 基础核心总结 +经典算法大全.rar

    《Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else ...

    javaio文件操作工具类,集成小部分对目录操作的方法

    javaio文件操作工具类,集成小部分对目录操作的方法,平时工作中学习中总结的部分方法方便大家使用~不妥之处望大家指教谢谢~!

    Java-IO流/Stream流总结

    Java-IO流/Stream流总结,内容一针见血,没有废话,言简意赅 内容:IO流及其分类、分类比较、转换流、缓存流、IO流异常处理、Stream流、Properties教程等。 适合人群:有编程基础及Java基础伙伴 适用场景:Java中的...

Global site tag (gtag.js) - Google Analytics