zoukankan      html  css  js  c++  java
  • Java 字符码、字符流、字节流

    字符编码表

    Ascii: 0-xxxxxxx正数

    iso-8859-1: 拉丁码表1-xxxxxxx  负数。

    GB2312: 简体中文码表

    GBK: 最常用的中文码表 String字符串默认

    GB18030 最新的中文码表

    unicode 国际标准码表 char字符默认 每个字符两字节

    UTF-8: 基于unicode 每个字符一个或两个字节

    能识别中文的码表:GBKUTF-8

    常见的编码 GBK  UTF-8  ISO-8859-1

    文字--->(数字) :编码 “abc.getBytes()  byte[]

    (数字)--->文字  : 解码 byte[] b={97,98,99}  new String(b,0,len)

    ANSI:系统编码

          字节流 In           字符流  要刷新Reader

    抽象类   OutputStream           Writer

            |            /                  

    实现类   FileOutputStream   +   OutputStreamWriter = FileWriter

            |            编码         |

    缓冲流   BufferedOutputStream  PrintStream        BufferedWriter

    字节流(图片)

    FileOutputStream  FileInputStream

    public static void method01() throws IOException{

    //FileOutputStream fos=new FileOutputStream(file);//传入File对象

    //FileOutputStream fos=new FileOutputStream("F:\a.txt");//创建/覆盖

    FileOutputStream fos=new FileOutputStream("F:\java\a.txt",true);/追加

    fos.write(97); //写入字节   正数:Asclla 负数:半个汉字 ?

    byte[] bytes={97,98,99,100};

    fos.write(bytes); // 写入一个  字节 数组

    fos.write(bytes,1,1); // 1开始  长度为1

    String str="你好,中国2 "; // 换行:

    fos.write(str.getBytes()); // 字符串 转 字节数组  写入

    fos.close();

    }

    字符流(文本,只能是gbk格式)

    public static void main(String[] args) throws IOException {

    //FileWriter fw = new FileWriter("d:\a.txt");//创建输出流对象

    //FileWriter fw = new FileWriter("b.txt");//项目路径下 创建文件

    FileWriter fw = new FileWriter("c.txt",true); //追加写入=true

    fw.write("helloworld");//写入字符串

    fw.write(" ");//windows:  linux:  mac:

    //fw.flush();//字符需要 刷新缓冲区

    fw.write("abcde",0,5);//写入字符串 起始索引 长度

    fw.write('a');//写入字符char      a

    fw.write(97);//写入字符 对应的Ascll码    a

    char[] chs = {'a','b','c','d','e'};

    fw.write(chs); //abcde

    fw.write(chs,2,3);//写入字符数组 起始索引 长度

    fw.close();//刷新缓冲区+释放资源

    }

  • 相关阅读:
    .netcore 3.1高性能微服务架构:封装调用外部服务的接口方法--HttpClient客户端思路分析
    .netcore3.1 设置可跨域
    基于MMSE的预测
    概率模型
    [离散时间信号处理学习笔记] 15. 模拟信号的数字处理
    [离散时间信号处理学习笔记] 14. 多采样率信号处理
    [离散时间信号处理学习笔记] 13. 重采样
    [离散时间信号处理学习笔记] 12. 连续时间信号的离散时间处理以及离散时间信号的连续时间处理
    [离散时间信号处理学习笔记] 11. 连续时间信号的采样与重构
    [离散时间信号处理学习笔记] 10. z变换与LTI系统
  • 原文地址:https://www.cnblogs.com/javscr/p/10247936.html
Copyright © 2011-2022 走看看