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;}

字符流出现的原因及思想

    ☞由于字节流操作中文不是特别方便,所以,java就提供了字符流。
    ☞字符流=字节流+编码表。

编码表概述和常见的编码表

█ 编码表

      ☞由字符及其对应的数值组成的一张表

█ 常见编码表

      ☞ASCII/Unicode 字符集
      ☞ISO-8859-1   Latin-1
      ☞GB2312/GBK/GB18030
      ☞BIG5
      ☞UTF-8

public class TestMain {
/*
* getBytes(String charsetName);
          使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
   String(byte[] bytes, String charsetName);
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。
*/
        public static void main(String[] args) {
                String string = "hello world" ;       
                byte[] bytes = string.getBytes();   //编码
                for(int i=0;i<bytes.length;i++){
                        System.out.print(bytes[i]);   //输出字节码
                }
                //解码
                String jiemaStrin = new String(bytes);  //通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。//这个平台是操作系统,默认的编码GBK
                System.out.print('\n'+jiemaStrin);
        }
}
public static void main(String[] args) throws UnsupportedEncodingException {
                String string = "hello world 梅浩" ;
                //编码
                byte[] bytes = string.getBytes("utf-8");  //参数不写就是用系统默认GBK,但是我这被改成 utf-8 了;
                for(int i=0;i<bytes.length;i++){
                        System.out.print(bytes[i]);    //输出字节码
                }
                //解码
                //String jiemaStrin = new String(bytes);  //通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。(我这里已经把默认的改成utf-8了)
                String jiemaStrin = new String(bytes,"utf-8");                //这个平台是操作系统,默认的编码GBK
                System.out.print('\n'+jiemaStrin);
        }
}

//unicode码 :java 虚拟机内部使用
String str = "梅浩";      //存字符串常量区就是用 unicode 码存的。


字符流概述(转换流)
█ OutputStreamWriter 字符输出流

     ☞public OutputStreamWriter(OutputStream out);           //创建使用默认字符编码的 OutputStreamWriter。
     ☞public OutputStreamWriter(OutputStream out,String charsetName);   
      

█ InputStreamReader 字符输入流

     ☞public InputStreamReader(InputStream in);              //创建一个使用默认字符集的 InputStreamReader。
     ☞public InputStreamReader(InputStream in,String charsetName);       // 创建使用指定字符集的

Java——IO类 字符流概述的更多相关文章

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

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

  2. Java IO之字符流和文件

    前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字 ...

  3. [Java IO]03_字符流

    Java程序中,一个字符等于两个字节. Reader 和 Writer 两个就是专门用于操作字符流的类. Writer Writer是一个字符流的抽象类.  它的定义如下: public abstra ...

  4. Java IO编程——字符流与字节流

    在java.io包里面File类是唯一 一个与文件本身有关的程序处理类,但是File只能够操作文件本身而不能够操作文件的内容,或者说在实际的开发之中IO操作的核心意义在于:输入与输出操作.而对于程序而 ...

  5. java IO之 字符流 (字符流 = 字节流 + 编码表) 装饰器模式

    字符流 计算机并不区分二进制文件与文本文件.所有的文件都是以二进制形式来存储的,因此, 从本质上说,所有的文件都是二进制文件.所以字符流是建立在字节流之上的,它能够提供字符 层次的编码和解码.列如,在 ...

  6. Java IO系统--字符流

    字符流:尽管字节流提供了处理任何类型输入/输出操作的足够功能,它们补鞥呢直接操作Unicode字符.字符流层次结构的顶层是Reader和Writer抽象类.类似于InputStream和OutputS ...

  7. Java IO(四--字符流基本使用

    在上一节,介绍了字节流的基本使用,本节介绍一下字符流的使用 Reader: public abstract class Reader implements Readable, Closeable { ...

  8. Java IO之字符流

    public static void main(String[] args) { FileWriter fw = null; try { fw = new FileWriter("/User ...

  9. java字节流和字符流,以及java文件操作

    A.首先说字节流:1.字节流在操作的时候不会用到缓冲区(也就是内存)2.字节流可用于任何类型的对象,包括二进制对象3.字节流处理单元为1个字节,操作字节和字节数组.InputStream是所有字节输入 ...

随机推荐

  1. 加法变乘法|2015年蓝桥杯B组题解析第六题-fishers

    加法变乘法 我们都知道:1+2+3+ ... + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如: 1+2+3+...+1011+12+...+2728+29+ ...

  2. Linux 文件的权限

    备注 : -rw-r--r-- 第一个“-”不算 ,三个一组 这个就是 644   二.使用chown命令更改文件拥有者 在 shell 中,可以使用chown命令来改变文件所有者.chown命令是c ...

  3. acm模板生成

    为迎接,接下来的区域赛,要做好准备(虽然不是特别有信心,但是还是要鼓励自己,可以取得收获的,加油) acm_latex模板: https://www.cnblogs.com/palayutm/p/64 ...

  4. Windows 上安装 pip

    1 从  https://pypi.python.org/pypi/pip#downloads  下载安装包 pip-9.0.1.tar.gz 2 解压 pip-9.0.1.tar.gz 3 用CMD ...

  5. Java中引用的详解

    Java中没有指针,到处都是引用(除了基本类型).所以,当然,你肯定知道java的引用,并用了很久,但是是不是对此了解地比较全面?而这些引用有什么作用,且有什么不同呢?Java中有个java.lang ...

  6. stat用法:获取文件对应权限的数字

    题目:文件属性为-rw-r--r-- 对应权限为644,如何使用命令获取权限对应的数字?? 举例如下: [linuxidc@localhost ~]$ ll -l-rw-r--r-- 1 linuxi ...

  7. pycharm Django

    上面的两张图片,是Django项目出错的图片,记得以前也出现过这个情况,当时好像是关闭了一些端口程序,后来就可以了,但是忘记了,那个链接也找不到了,所以现在很困惑,再找找. 电脑上现在程序安装的太多, ...

  8. Spring AMQP 源码分析 08 - XML 配置

    ### 准备 ## 目标 通过 XML 配置文件使用 Spring AMQP ## 前置知识 <Spring AMQP 源码分析 07 - MessageListenerAdapter> ...

  9. Codeforces 913D - Too Easy Problems

    913D - Too Easy Problems 思路:二分check k 代码: #include<bits/stdc++.h> using namespace std; #define ...

  10. yii第二步

    yii第二步: main.php 'urlManager'=>array('urlFormat'=>'path','rules'=>array('game/guess/<g:\ ...