body, table{font-family: 微软雅黑}
table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;}
th{border: 1px solid gray; padding: 4px; background-color: #DDD;}
td{border: 1px solid gray; padding: 4px;}
tr:nth-child(2n){background-color: #f8f8f8;}

转换流的名字比较长,而我们常见的操作都是按照本地默认编码实现的,所以,为了简化我们的书写,转换流提供了对应的子类。

FileWriter(File file); 
          根据给定的 File 对象构造一个 FileWriter 对象。

FileWriter(File file,
boolean append)
 ;
          根据给定的 File 对象构造一个 FileWriter 对象。

FileWriter(String fileName) ;
          根据给定的文件名构造一个 FileWriter 对象。

FileWriter(String fileName,
boolean append)
 ;
          根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造
FileWriter 对象。

// 这两个类继承 OutputStreamWriter 类,所以成员方法还是和前面的一样

FileReader(File file) ;
          在给定从中读取数据的 File 的情况下创建一个新 FileReader

FileReader(FileDescriptor fd) ;
          在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader

FileReader(String fileName) ;
          在给定从中读取数据的文件名的情况下创建一个新 FileReader

        public static void main(String[] args) throws Exception {
        //        InputStreamReader isr = new InputStreamReader(new FileInputStream("1.txt"),"utf-8");
        //        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("2.txt"),"utf-8");
                //和上面是一样的,如果要指定字符集就必须用上面的
/*             FileWriter fw = new FileWriter("3.txt");  //不用告诉是什么编码,都是默认本地编码;
                fw.write("你好,昆明");     //继承OutputStreamWriter类的方法
                fw.write('中');
                char[] ch = {'物','联','网','实','验','室'};
                fw.write(ch);
                fw.write(ch, 2, 3);
                fw.close();*/
               //InputStreamReader isr = new InputStreamReader(new FileInputStream("3.txt"));
                FileReader fileReader = new FileReader("3.txt");
                int read = fileReader.read();    //读一个
                System.out.println("read(): "+(char)read);
                char[] ch1 = new char[10];
                fileReader.read(ch1);
                System.out.println(new String(ch1));
                fileReader.read(ch1, 0, 5);    //光标在上次位置,接着往下读
                System.out.println(new String(ch1));
        }
}

Java——IO类,转换流简化写法的更多相关文章

  1. Java IO中转换流的作用

    在<Java网络编程>中,有这样一段话: ”Reader和Writer最重要的子类是InputStreamReader和OutputStreamWriter类. InputStreamRe ...

  2. Java IO编程——转换流

    所谓的转换流指的是可以实现字节流与字符流操作的功能转换,例如:进行输出的时候OutputStream需要将内容变为字节数组后才可以进行输出,而Writer可以直接输出字符串,这一点是方便的,所以很多人 ...

  3. Java——IO类 字符流概述

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  4. Java IO之处理流

    一.处理流: 增强功能,提供性能,在节点流之上. 二.节点流与处理流的关系 节点流(字节流.字符流)处于IO操作的第一线,所有操作必须通过它们进行: 处理流可以对其他流进行处理(提高效率或操作灵活性) ...

  5. Java IO 文件与流基础

    Java IO 文件与流基础 @author ixenos 摘要:创建文件.文件过滤.流分类.流结构.常见流.文件流.字节数组流(缓冲区) 如何创建一个文件 #当我们调用File类的构造器时,仅仅是在 ...

  6. Java IO: 其他字符流(下)

    作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本小节会简要概括Java IO中的PushbackReader,LineNumberReader,St ...

  7. Java IO 类一览表

    下表列出了大多数(非全部)按输/输出,基于字节或字符划分的 Java IO 类.

  8. Java基础 使用转换流进行文件的复制 / RandomAccessFile 类进行文件的复制

    笔记:  **使用转换流进行文件的复制 文本文件---字节流FileInputStream--> [InputStreamReader] -----字符流BufferedReader------ ...

  9. JAVA基础之转换流和缓冲流

    个人理解: 在理解的字符流和字节流的区别后.要是想读取指定的编码格式的文件时,特别是不是默认的格式时,就需要转换流了,需要注意的是字符流是需要清除缓冲区的:当需要快速的进行读取时,则需要缓冲流.存在即 ...

随机推荐

  1. windows下的gvim和emmet 下载和安装 + "omnifunc is not set" solution?

    注意几个地方: 引导键是ctrl-y, 其他就是实际的操作键了, 如: n下一个插入点, N是上一个插入点(不是p), ctrl-y + i是自动为图片添加宽度和高度尺寸, 要点是要把光标移动到 im ...

  2. MySQL timespan设置 sql_mode设置

    Timespan设置: 在MySQL5.7版本中创建表 CREATE TABLE `investor_seat` ( `id` int(11) NOT NULL AUTO_INCREMENT , `i ...

  3. ZOJ 3329 One Person Game (经典概率dp+有环方程求解)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3329 题意:现在有三个骰子,分别有k1,k2和k3面,面上的点就是1~ki ...

  4. 如何理解并正确使用MySql索引

    原文链接:https://my.oschina.net/feinik/blog/1305784 1.概述 索引是存储引擎用于快速查找记录的一种数据结构,通过合理的使用数据库索引可以大大提高系统的访问性 ...

  5. python 同步与异步性能区别

    import gevent def task(pid): """ Some non-deterministic task """ geven ...

  6. shell 清空指定大小的日志文件

    #!/bin/bash # 当/var/log/syslog大于68B时 if ! [ -f /var/log/syslog ] then echo "file not exist!&quo ...

  7. ubuntu 14.04 (desktop amd 64) 下载

    http://cdimage.ubuntu.com/ubuntukylin/releases/14.04/release/

  8. Spring boot 遇到了连接mysql的错误

    问题1: Establishing SSL connection without server's identity verification is not recommended. Accordin ...

  9. EM算法及其推广

    概述 EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计. EM算法的每次迭代由两步组成:E步,求期望(expectation): ...

  10. ubuntu 安装 openssh-server,xinetd,vmware tools

    ●安装SSH服务 ●判断是否安装ssh服务,通过如下命令:ps -e|grep ssh 1, sudo apt-get update --->软件的更新地址变了,需要更新本机的sources.l ...