一.字节流读写方案

FileInputStream:字节流方式读取文本文件

FileoutputStream:字节流写入硬盘

二.字符流读写方案

FileReader:字符流读取文本

FileWriter:字符流写入文本

三.

BufferedReader:自定义缓存大小,读取文本8192个char

BufferedWriter:写入文本

一般和FileReader和FileWriter连用

四.可以读取二进制(img图片等)

DataInputStream:将本地的img加载到内存中

DataOutputStream::将内存中的二进制数据写入到硬盘上的某个文件中。

1.使用字节流读取文本文件

//字节输入流练习:从文本文件读取各种数据(字母,字符串都支持)

//声明流对象

try {

FileInputStream fis=new FileInputStream("c:\\ming.txt");

int data;

System.out.println("可读取的字节数:"+fis.available());

System.out.println("文件内容为:");

//循环读取数据

byte[] buffer=new byte[1024];

StringBuilder sb=new StringBuilder();

while ((data=fis.read(buffer))!=-1) {

//byte[]转为字符串

String str=new String(buffer,0,data,"gb2312");

sb.append(str);

}

System.out.println(sb.toString());

} catch (Exception e) {

}
3.使用字节流写文本文件
 // 通过字节流将内存中的数据写入到硬盘上
        FileOutputStream fos=null;
        try {
            String str="呵呵";
            byte[] words=str.getBytes("gb2312");
            //创建流对象,一追加方式写入文件
            fos=new FileOutputStream("c:\\ming.txt",true);
            //写入文件
            fos.write(words,0,words.length);
            System.out.println("文件已更新");
        } catch (Exception e) {
            System.out.println("创建文件时出错!");
        }finally{
            try {
                if (fos!=null) {
                    fos.close();
                }
            } catch (Exception e2) {
               e2.printStackTrace();
            }
        }
4.使用字符流读取文本文件
//使用字符流读取文本文件
        Reader fr=null;
        try {
             fr=new FileReader("c:\\ming.txt");
            char[] ch=new char[1024];//中转站,缓冲区
            StringBuffer sbf=new StringBuffer();
            int length=fr.read(ch);//将字符读入数组
            //循环读取并追加字符
            while (length!=-1) {
                sbf.append(ch,0,length);
                length=fr.read(ch);
            }
            System.out.print(sbf);
        } catch (Exception e) {
           e.printStackTrace();
        }finally{
            try {
                if (fr!=null) {
                    fr.close();
                }
            } catch (Exception e2) {
                // TODO: handle exception
            }
        }
5.使用字符流写文本文件
//使用字符流写文本文件
        FileWriter fw=null;
        try {
            fw=new FileWriter("c:\\ming.txt",true);
            //写入信息
            String words="叶丽仪-上海滩";
            fw.write(words);
            fw.flush();
            System.out.println("写入成功");

        } catch (Exception e) {
            System.out.println("文件不存在");
        }finally{
            try {
                if (fw!=null) {
                    fw.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
// 字符输入流BufferedReader读取文件
        FileReader fr=null;
        BufferedReader br=null;
        try {
            //创建一个FileReader对象
            fr=new FileReader("c:\\ming.txt");
            //创建一个BufferedReader对象
            br=new BufferedReader(fr);
            //读取一行数据
            String line=br.readLine();
            while (line!=null) {
                System.out.println(line);
                line=br.readLine();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            try {
                if (br!=null) {
                    br.close();
                }if (fr!=null) {
                    fr.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
使用MyBufferedWriter来写入文本文件
        FileWriter fw=null;
        BufferedWriter bw=null;
        try {
            fw=new FileWriter("c:\\ming.txt",true);
            bw=new BufferedWriter(fw);
            //写入信息
            bw.write("故乡的原风景");
            bw.newLine();
            bw.write("城里的月光-许美静");
            bw.flush();
            fw.close();

            //读取文件内容
            FileReader fr=new FileReader("c:\\ming.txt");
            BufferedReader br=new BufferedReader(fr);
            String line=br.readLine();
            while (line!=null) {
                System.out.println(line);
                line=br.readLine();
            }
        } catch (Exception e) {
            System.out.println("文件不存在");
            e.printStackTrace();
        }finally{
            try {
                if (bw!=null) {
                    bw.close();
                }
                if (fw!=null) {
                    fw.close();
                }
            } catch (Exception e2) {
                // TODO: handle exception
            }
        }
使用字节流类DataOutputStream写二进制文件
        DataOutputStream out=null;
        DataInputStream dis=null;
        try {
            //创建输入流对象
            FileInputStream fis=new FileInputStream("c:\\范宁.jpg");
            dis=new DataInputStream(fis);
            //创建输出流对象
            FileOutputStream outFile=new FileOutputStream("c:\\范宁小美女33.jpg");
            out=new DataOutputStream(outFile);
            int temp=dis.read();
            while (temp!=-1) {
                out.write(temp);
                temp=dis.read();
            }
            System.out.println("复制成功");
            fis.close();
            outFile.close();
        } catch (Exception e) {
            System.out.println("文件不存在");
        }finally{
            try {
                if (dis!=null) {
                    dis.close();
                }
                if (out!=null) {
                    out.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }

Java中的四套读写方案的更多相关文章

  1. JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)

    1.throws和throw的区别 throws使用在函数外,是编译时的异常,throw使用在函数内,是运行时的异常 使用方法 public int method(int[] arr) throws ...

  2. JAVA中的四种引用以及ReferenceQueue和WeakHashMap的使用示例

    简介: 本文主要介绍JAVA中的四种引用: StrongReference(强引用).SoftReferenc(软引用).WeakReferenc(弱引用).PhantomReference(虚引用) ...

  3. Java中的四种引用

    引用定义 实际上,Java中存在四种引用,它们由强到弱依次是:强引用.软引用.弱引用.虚引用.下面我们简单介绍下这四种引用: 强引用(Strong Reference):通常我们通过new来创建一个新 ...

  4. JAVA中的四种JSON解析方式详解

    JAVA中的四种JSON解析方式详解 我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON解析方式. 1.JSON官方 脱离框架使用 2.GSON 3.FastJSON ...

  5. 四种读写方案IO流 (JAVA)

    File类用于访问文件或目录的属性 流:指一连串流动的字符,是以先进先出的方式发送信息的通道.程序和数据源之间是通过流联系起来的. 第一套:字节流读取写入方案 FileInputStream :字节流 ...

  6. Java中“附近的人”实现方案讨论及代码实现

    前言 在我们平时使用的许多app中有附近的人这一功能,像微信.qq附近的人,哈罗.街兔附近的车辆.这些功能就在我们日常生活中出现. 像类似于附近的人这一类业务,在Java中是如何实现的呢? 本文就简单 ...

  7. Java中的四种引用类型比较

    1.引用的概念 引用这个概念是与JAVA虚拟机的垃圾回收有关的,不同的引用类型对应不同的垃圾回收策略或时机. 垃圾收集可能是大家感到难于理解的较难的概念之一,因为它并不能总是毫无遗漏地解决Java运行 ...

  8. Java 中的四种引用及垃圾回收策略

    Java 中有四种引用:强引用.软引用.弱引用.虚引用: 其主要区别在于垃圾回收时是否进行回收: 1.强引用 使用最普遍的引用.如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会 ...

  9. K:java中properties文件的读写

    Properties类与.properties文件:   Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集的类,不过Properties有特殊 ...

随机推荐

  1. JScript中的条件注释详解(转载自网络)

    JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...

  2. 如何在Infraworks中创建多树种组成的森林

    在Infraworks 2014中,你可以有shp文件导入生成树木和森林,也可以直接在模型中规划一片区域作为森林.美中不足的就是,这些充其量叫树林不能叫森林,因为他们的样式都是一个树种,而真正的森林肯 ...

  3. xmpp整理笔记:聊天信息的发送与显示

    任何一个信息的发送都需要关注两个部分,信息的发出,和信息在界面中的显示 往期回顾: xmpp整理笔记:环境的快速配置(附安装包)  http://www.cnblogs.com/dsxniubilit ...

  4. iOS启动过程

    1.main函数 | 2.UIApplicationMain      * 创建UIApplication对象      * 创建UIApplication的delegate对象 | 3.delega ...

  5. block 页面传值小结

    我以自己项目中的一个模块为例,首先有两个页面,第一个页面为显示城市页面,第二个页面为选择要使用block传的值(城市名). 第一个页面中的显示控件: //自定义左部定位视图 self.locView ...

  6. C语言中的函数与指针

    1. 为什么需要函数? 函数就是功能的封装. 函数就是为了实现某个功能而编写的一段代码 scanf()    ,  printf() 2.函数优点: 代码更简洁 代码复用 如果业务逻辑变化,只把相应的 ...

  7. Web应用程序系统的多用户权限控制设计及实现-总结【11】

    Web应用程序系统的多用户权限控制设计及实现通过10章内容讲述已经结尾了.写这些博客的目的很简单,方便自己以后参考,也留下自己编程岁月的一些痕迹.对于编程,对于工作,真是心甘情愿的就好. 由于这只是一 ...

  8. hypervisor与VMware共存方法

    bcdedit /set hypervisorlaunchtype offbcdedit /set hypervisorlaunchtype auto

  9. 15、安全工程师要阅读的书籍 - IT软件人员书籍系列文章

    信息安全工程师是一个比较新兴的角色.在2016年今年的下半年软考就将安全工程师纳入了考试科目,说明国家对安全工程师的需求还是不错的.安全工程师包括硬件和软件两块内容吧.这里描述的安全工程师主要是针对软 ...

  10. Visual Studio 开发平台的安装与单元测试

    一.安装VS2013 1.运行安装文件夹中的.exe文件,选择好安装路径与所需功能后开始安装 2.安装后第一次打开,需要一段时间 3.安装成功后,要打开VS2013,在工具栏中找到帮助选项卡,点击注册 ...