//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. bugku | 你从哪里来

    题目链接 之前一直以为要用x-forwarded-for ,谁道用的是referer,Orz.在此特地记录,x-forwarded-for 和 referer的区别 X-Forwarded-For(X ...

  2. (转)Navicat连接MySQL8.0亲测有效

    转:https://www.cnblogs.com/shiysin/p/shiysin.html 今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因是MySQL8.0版 ...

  3. asp label居中

    https://stackoverflow.com/questions/25245839/align-a-label-to-the-right-using-asp-net Try something ...

  4. docker 应用

    在ubuntu安装docker 编写Dockerfile (用来操作容器) FROM java:8 #获取java官方镜像 jdk版本为1.8 VOLUME /tmp # 数据存储目录,容器退出后数据 ...

  5. 多级xml解析方案

    package com.people.xmlToSql; import java.io.File; import java.io.IOException; import java.io.StringW ...

  6. 微众银行c++选择题后记

    一个类的成员可以有:另一个类的对象,类的自身指针,自身类对象的引用(私有的如何初始化呢,所以不行,换成静态的可以),自身类对象(构造时如何初始化呢?) class A{ public: A(){} A ...

  7. 距离矢量路由协议——RIP

    距离矢量路由协议RIP: 众所周知,RIP(Routing Information Protocol),即路由信息协议,是一种距离矢量路由协议,它与IGRP,OSPF等一样都是属于IGP(Interi ...

  8. Yahoo! 35条网站性能优化建议

    Yahoo! 35条网站性能优化建议 Yahoo!的 Exceptional Performance团队为改善 Web性能带来最佳实践.他们为此进行了一系列的实验.开发了各种工具.写了大量的文章和博客 ...

  9. HDU 1028 Ignatius and the Princess III (生成函数/母函数)

    题目链接:HDU 1028 Problem Description "Well, it seems the first problem is too easy. I will let you ...

  10. ss证书问题

    #SSL--校验网站证书 #一.什么是SSL证书 from urllib import request #ssl免验证 import ssl ssl._create_default_https_con ...