//FileReader FileWriter 读写英文
    public void FileReaderAndWriter1() throws Exception {

File filePath = new File("E:/iotest");
        if (!filePath.exists()) {
            filePath.mkdirs();
        }
        
        //写文件
        File file = new File(filePath.getPath(), "writer.txt");
        FileWriter writer = new FileWriter(file);
    
        
        for (int i = 0; i < 100; i++) {
            writer.write(new char[]{'a','b','c'});
            writer.write(new char[]{'\r','\n'});
        }
        writer.close();

//读取文件
        FileReader reader = new FileReader(file);
        char[] chars=new char[100];
        int readCount =0;
        while((readCount=reader.read(chars))>0){
             System.out.print(String.valueOf(chars).substring(0, readCount));
        }
        reader.close();
    }
    //FileReader FileWriter 读写中文
    public void FileReaderAndWriter2() throws Exception {

File filePath = new File("E:/iotest");
        if (!filePath.exists()) {
            filePath.mkdirs();
        }
        
        //写文件
        File file = new File(filePath.getPath(), "writer.txt");
        FileWriter writer = new FileWriter(file);
        BufferedWriter bfWriter = new BufferedWriter(writer);
        
        for (int i = 0; i < 10000; i++) {
            bfWriter.write("当前行号" + i);
            bfWriter.write("\r\n");
        }
        bfWriter.flush();
        writer.close();
        bfWriter.close();

//读取文件
        FileReader reader = new FileReader(file);
        BufferedReader bfReader =new BufferedReader(reader);
        String line="";
        while((line=bfReader.readLine())!=null){
            System.out.println(line);
        }

}

//FileInputStream FileOutputStream
    public void FileStream() throws Exception{
        File file1 =new File("E:/iotest","writer.txt");
        FileInputStream input =new FileInputStream(file1);
        BufferedInputStream  bInput =new BufferedInputStream(input);
        
        File file2 =new File("E:/iotest","writer1.txt");
        FileOutputStream output = new FileOutputStream(file2);
        BufferedOutputStream bOutput =new BufferedOutputStream(output);
        byte [] b=new byte[1024];
        int bCount;
        
        while((bCount=bInput.read(b))>0){
             bOutput.write(b, 0, bCount);
         }
         bOutput.flush();
         bOutput.close();
         bInput.close();
        
    }
    
    //BitArrayInputStream BitArrayOutputStream
    public void BitStream()throws Exception{
        byte [] binput =new byte[]{12,-1,127,-128,0};
        
        ByteArrayInputStream  input = new ByteArrayInputStream(binput);
        int i;
        while((i = input.read())!=-1){
           System.out.println(i);
        }
        
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        output.write(new byte[]{67,97,1});
        String strOut =    output.toString();
        System.out.println(strOut);
    }
    
    //CharArrayReader CharArrayWriter
    public void CharStream()throws Exception{
        CharArrayReader reader =new CharArrayReader(new char[]{'a','b','c'});
         int i;
        while((i=reader.read())!=-1){
            System.out.println(i);
        }
        
        CharArrayWriter writer = new CharArrayWriter();
        writer.write("上海");
        char [] cbuf =new char[]{'a','b','c','A'};
        writer.write(cbuf);
        
        File file = new File("E:/iotest/char.txt");
        FileWriter fw = new FileWriter(file);
        
        writer.writeTo(fw);
        
        writer.flush();
        fw.flush();
        
    }
    
    //ObjectStream
    public void ObjectStream() throws Exception{
        
        FileOutputStream fos = new FileOutputStream("E:/iotest/object.txt");
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        
        oos.writeDouble(10.2);
        oos.writeFloat(16.323f);
        oos.writeChars("中国");
       
        Student stu =new Student(1,"cwg",new Date());
    
        oos.writeObject(stu);
        oos.flush();
        oos.close();
        
        FileInputStream fis =new FileInputStream("E:/iotest/object.txt");
        ObjectInputStream ois = new ObjectInputStream(fis);
        System.out.println( ois.readDouble());
        System.out.println( ois.readFloat());
        System.out.println( ois.readChar());
        System.out.println( ois.readChar());
        Object obj = ois.readObject();
        if(obj instanceof Student){
            Student rstu =(Student)obj;
            System.out.println(rstu.getId()+"--"+rstu.getUserName());
        }

}
    
    public static void main(String[] args) throws Exception {
        IODemo demo = new IODemo();
        //demo.FileReaderAndWriter1();
        //demo.FileReaderAndWriter2();
        //demo.FileStream();
        //demo.BitStream();
        //demo.CharStream();
        //demo.ObjectStream();
        
    }

Java IO Demo的更多相关文章

  1. java IO流详解

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  2. java IO之AutoCloseable,Closeable和Flushable接口

    有3个接口对于流类相当重要.其中两个接口是Closeable和Flushable,它们是在java.io包中定义的,并且是由JDK5添加的.第3个接口是AutoColseable,它是由JDK7添加的 ...

  3. java.io.StreamCorruptedException: invalid type code: AC错误的解决方法

    问题描述: 在向一个文件写入可序列化对象时,每次只想向文件的末尾添加一个可序列化的对象,于是使用了FileOutputStream(文件名,true)间接的构建了ObjectOutputStream流 ...

  4. java io (一)

    对于文件内容的操作主要分为两大类 分别是:字符流 字节流 其中,字符流有两个抽象类:Writer   Reader 其对应子类FileWriter和FileReader可实现文件的读写操作 Buffe ...

  5. appium+java+junit demo运行

    对java熟悉一些,所以想用java把appium给做起来.今天用myeclipse给环境和Demo弄了一下,网上没有一篇全套资料的. 各块环境的搭建: 1.安装appium客户端,省略下载和安装步骤 ...

  6. Java Io(数据输入输出流)

    Java Io 字节流中的DataInputStream 和 DataOutputStream,使用流更加方便,是流的一个扩展,更方便读取int, long,字符等类型数据. 事例代码如下: pack ...

  7. Java Io 流(输入输出流)

    IO流,也就是输入和输出流,可分为字节流和字符流. 1. 字节流 (1). InputStream 输入流,用于读取文件 输入流常用API: inputStream.read()  读取一个字节 in ...

  8. 黑马程序员——【Java基础】——Java IO流

    ---------- android培训.java培训.期待与您交流! ---------- 一.IO概述 1.IO:是Input.Output的缩写. 2.特点: (1)用于处理设备间的数据传输. ...

  9. java io系列01之 "目录"

    java io 系列目录如下: 01. java io系列01之  "目录" 02. java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括 ...

随机推荐

  1. Jdk1.8 之 Integer类源码浅析

    先看一下它的继承.实现关系: public final class Integer extends Number implements Comparable<Integer> Number ...

  2. JavaScript 类型浅解

    对于JavaScript 类型,可简单地概括为:相对于强类型语言来说,它是弱(松散)类型的语言:有基本类型和引用类型,他们是区别是一个有固定空间存在于栈内存中,一个没有固定空间保存在堆内存中并且在栈内 ...

  3. vim如何达到高效

    参考:http://blog.jobbole.com/44891/ 搜索技巧 1. 使用*快速查询当前光标所在的单词 然后使用n快速找到下一个查询结果: 使用N快速找到上一个查询结果 2. 在.vim ...

  4. 基于spark邮件自动分类

    代码放在github上:click me 一.数据说明 数据集为英文语料集,一共包含20种类别的邮件,除了类别soc.religion.christian的邮件数为997以外每个类别的邮件数都是100 ...

  5. Cocos2d-x中使用的数据容器类

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 在计算机的数据结构中,有着数组,链表,堆栈,队列,树,图,哈希表等一些结构.在面向对象的语言中,这些结构被封装成了特定的类,而这些类就是容 ...

  6. Scrapy框架: 异常错误处理

    import scrapy from scrapy.spidermiddlewares.httperror import HttpError from twisted.internet.error i ...

  7. luoguP1541 乌龟棋 题解(NOIP2010)

    P1541 乌龟棋 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include<cma ...

  8. Python字典(一)

    数据类型 数据类型划分:可变.不可变 不可变数据类型:元组.bool.int.str  [可哈希] 可变数据类型:list,dict,set [可哈希] 字典格式 dic1={ key(键值):val ...

  9. 搭建 webpack、react 开发环境(一)

    基本介绍   Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源,它可以将多种静态资源 JavaScript.css.le ...

  10. window.location.search 为何在url 带# 号时获取不到 ?

    我们在获取url参数时,会常常用到截取参数 getUrlParam(name) { const reg = new RegExp('(^|&)' + name + '=([^&]*)( ...