X  
登录

还没有账号?立即注册

忘记密码?
登陆
X  
注册

已经有账号?马上登陆

获取验证码
重新获取(60s)
立即注册
统计
  • 建站日期:2021-03-10
  • 文章总数:518 篇
  • 评论总数:155 条
  • 分类总数:32 个
  • 最后更新:4月20日
文章 未分类

IO一些重要知识

梦幻书涯
首页 未分类 正文

package cn.itcast_01;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

/*
 * String(byte[] bytes, String charsetName):通过指定的字符集解码字节数组
 * byte[] getBytes(String charsetName):使用指定的字符集合把字符串编码为字节数组
 *
 * 编码:把看得懂的变成看不懂的
 * String -- byte[]
 *
 * 解码:把看不懂的变成看得懂的
 * byte[] -- String
 *
 * 举例:谍战片(发电报,接电报)
 *
 * 码表:小本子
 *   字符 数值
 *
 * 要发送一段文字:
 *   今天晚上在老地方见
 *
 *   发送端:今 -- 数值 -- 二进制 -- 发出去
 *   接收端:接收 -- 二进制 -- 十进制 -- 数值 -- 字符 -- 今
 *
 *   今天晚上在老地方见
 *
 * 编码问题简单,只要编码解码的格式是一致的。
 */
public class StringDemo {
 public static void main(String[] args) throws UnsupportedEncodingException {
  String s = "你好";

  // String -- byte[]
  byte[] bys = s.getBytes(); // [-60, -29, -70, -61]
  // byte[] bys = s.getBytes("GBK");// [-60, -29, -70, -61]
  // byte[] bys = s.getBytes("UTF-8");// [-28, -67, -96, -27, -91, -67]
  System.out.println(Arrays.toString(bys));

  // byte[] -- String
  String ss = new String(bys); // 你好
  // String ss = new String(bys, "GBK"); // 你好
  // String ss = new String(bys, "UTF-8"); // ???
  System.out.println(ss);
 }
}

 

package cn.itcast_02;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

/*
 * InputStreamReader(InputStream is):用默认的编码读取数据
 * InputStreamReader(InputStream is,String charsetName):用指定的编码读取数据
 */
public class InputStreamReaderDemo {
 public static void main(String[] args) throws IOException {
  // 创建对象
  // InputStreamReader isr = new InputStreamReader(new FileInputStream(
  // "osw.txt"));

  // InputStreamReader isr = new InputStreamReader(new FileInputStream(
  // "osw.txt"), "GBK");

  InputStreamReader isr = new InputStreamReader(new FileInputStream(
    "osw.txt"), "UTF-8");

  // 读取数据
  // 一次读取一个字符
  int ch = 0;
  while ((ch = isr.read()) != -1) {
   System.out.print((char) ch);
  }

  // 释放资源
  isr.close();
 }
}

 

 

package cn.itcast_02;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

/*
 * OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流
 * OutputStreamWriter(OutputStream out,String charsetName):根据指定编码把字节流数据转换为字符流
 * 把字节流转换为字符流。
 * 字符流 = 字节流 +编码表。
 */
public class OutputStreamWriterDemo {
 public static void main(String[] args) throws IOException {
  // 创建对象
  // OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
  // "osw.txt")); // 默认GBK
  // OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
  // "osw.txt"), "GBK"); // 指定GBK
  OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
    "osw.txt"), "UTF-8"); // 指定UTF-8
  // 写数据
  osw.write("中国");

  // 释放资源
  osw.close();
 }
}

 

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
这篇文章最后更新于2019-6-9,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
java网络编程code
« 上一篇
编码问题
下一篇 »

发表评论

HI ! 请登录
注册会员,享受下载全站资源特权。
登陆 注册
永远的少年,永远的梦

热门文章