//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. 三线SWD模式Jlink

    三线SWD模式Jlink   在公司实习,部门经理让我做一个USB-CAN的适配器. 在网上找资料,找到一个开源的USB-CAN的适配器的资料. 采用的是CP2102芯片实现USB转串口.STM32作 ...

  2. jmeter添加自定义扩展函数之if判断

    1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这 ...

  3. python Condition类(锁)

    Condition(条件变量)通常与一个锁关联.需要在多个Contidion中共享一个锁时,可以传递一个Lock/RLock实例给构造方法,否则它将自己生成一个RLock实例. 不理解锁的,请看上一条 ...

  4. python 装饰器 第五步(1):带有参数的装饰器

    #第五步:带有参数的装饰器 #用于扩展基本函数的函数 def kuozhan(func): #内部函数(扩展之后的eat函数) #5由于调用的时候传了两个参数,未来的eat函数没有参数接收 #5报错的 ...

  5. VB - 操作符(含Is)

    在VBScript运算符中,加减乘除都是我们常用的符号,乘方使用的是 ^ ,取模使用的Mod. 在比较操作符中,等于.小于.大于.小于等于.大于等于都与我们常用的符号是一致的,而不等于是小于和大于连用 ...

  6. 利用程序随机构造N个已解答的数独棋盘

    高级软件工程第二次作业:利用程序随机构造N个已解答的数独棋盘,代码如下: package SudokuGame; /** * 解决这个问题使用的是回溯+剪枝的算法 * 基本思想:不断地将每个格子可填入 ...

  7. 美团2018年CodeM大赛-资格赛

    https://www.nowcoder.com/acm/contest/138#question A.下单 水题…… B.可乐 题意:求期望 代码: #include<iostream> ...

  8. Docker镜像仓库的搭建--> Harbor篇

    简介 Harbor是VMware公司开源的一个企业级Docker Registry项目,项目地址:https://github.com/goharbor/harbor Harbor作为一个企业级私有R ...

  9. Riverside Curio

    Riverside Curio time limit per test1 second memory limit per test256 megabytes Arkady decides to obs ...

  10. 看不懂源码?先来恶补一波Object原型吧

    目录 Object Object属性 1.Object.prototype 2.Object.name Object方法 1.Object.assign() 2.Object.create() 3.O ...