Java—IO流 文件的编码
- 文件的编码
package cn.test;
import java.io.UnsupportedEncodingException;
public class Demo15 {
public static void main(String[] args) throws UnsupportedEncodingException {
String str = "你好ABC123";
byte[] b1 = str.getBytes();//转换成字节系列用的是项目默认的编码
for (byte b : b1) {
//把字节(转换成了int)以十六进制方式显示
System.out.print(Integer.toHexString(b & 0xff) + " ");
}
System.out.println("");
//utf8编码,中文占用3个字节,英文和数字占用1个字节
byte[] b2 = str.getBytes("utf8");
for (byte b : b2) {
System.out.print(Integer.toHexString(b & 0xff) + " ");
}
System.out.println("");
//gbk编码,中文占用两个字节,英文和数字占用1个字节
byte[] b3 = str.getBytes("gbk");
for (byte b : b3) {
System.out.print(Integer.toHexString(b & 0xff) + " ");
}
System.out.println("");
//java是双字节编码 utf-16be
//utf-16be编码,中文占2个字节,英文和数字也占用2个字节
byte[] b4 = str.getBytes("utf-16be");
for (byte b : b4) {
System.out.print(Integer.toHexString(b & 0xff) + " ");
}
System.out.println("");
//当字节序列是某种编码时,这时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码
String str1 = new String(b4);//使用项目默认的编码
System.out.println(str1);
String str2 = new String(b4, "utf-16be");
System.out.println(str2);
}
}
执行结果:
e4 bd a0 e5 a5 bd 41 42 43 31 32 33
e4 bd a0 e5 a5 bd 41 42 43 31 32 33
c4 e3 ba c3 41 42 43 31 32 33
4f 60 59 7d 0 41 0 42 0 43 0 31 0 32 0 33
O`Y}ABC123
你好ABC123
文本文件就是字节序列,可以是任意编码的字节序列。
如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码(中文系统下,ansi编码代表gbk编码)
Java—IO流 文件的编码的更多相关文章
- 【Android】数据存储-java IO流文件存储
1.数据持久化:将在内存中的瞬时数据保存在存储设备中.瞬时数据:设备关机数据丢失.持久化技术提供一种机制可以让数据在瞬时状态和持久状态之间转换. 2.Android中简单的三种存储方式:文件存储.Sh ...
- java IO流文件的读写具体实例(转载)
引言: 关于java IO流的操作是非常常见的,基本上每个项目都会用到,每次遇到都是去网上找一找就行了,屡试不爽.上次突然一个同事问了我java文件的读取,我一下子就懵了第一反应就是去网上找,虽然也能 ...
- Java IO 流-- 文件拷贝
IO流操作套路: 1.创建源: 2.选择流: 3.操作: 4.释放资源 上代码: package com.xzlf.io; import java.io.File; import java.io.Fi ...
- java IO流文件的读写具体实例
IO流的分类:1.根据流的数据对象来分:高端流:所有的内存中的流都是高端流,比如:InputStreamReader 低端流:所有的外界设备中的流都是低端流,比如InputStream,Output ...
- Java IO流文件复制/解压的几种方法总结
引言 在JavaWeb项目开发过程,涉及到IO文件的读写操作以及文件的复制copy操作是作为一个程序员不可获取的知识,那接下来就总结一些copy文件的一些方法,与大家通过学习,如果还有其他更好的方法, ...
- java IO流文件拷贝文件(字符流标准写法)
public static void copyFile2(String path1, String path2) { Reader reader = null; Writer writer = nul ...
- java IO流文件拷贝文件(字节流标准写法)
public static void copyFile(String srcPath, String destPath) { FileInputStream fis = null; FileOutpu ...
- Java:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- java io流 对文件夹的操作
java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文 ...
随机推荐
- requests库安装
1.运行cmd输入pip install requests C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts ...
- [洛谷 P4612][COCI 2011-2012#7] Setnja
传送门 TM :setnja (1S256M) 一个人要散步去会见他的 N 个朋友(按给定的顺序会见).我们可以理解成他们都住在一个 很大的网格内,每个朋友住其中的一个单元格,所有人每一步都可以走到相 ...
- hdu6183 Color it 线段树动态开点+查询减枝
题目传送门 题目大意: 有多次操作.操作0是清空二维平面的点,操作1是往二维平面(x,y)上放一个颜色为c的点,操作2是查询一个贴着y轴的矩形内有几种颜色的点,操作3退出程序. 思路: 由于查询的矩形 ...
- 将M个客服随机分配给N个客户
class AllocUser { //客户多于客服 public static void Test() { var customers = new List<Customer>() { ...
- C++ GUI Qt4编程(12)-6.1FindFileDialog
1. 主要介绍了QGridLayout, QHBoxLayout, QVBoxLayout3种布局管理器的使用方法. 2. 在linux中,继承自QDialog的对话框,没有最大化.最小化.关闭按钮, ...
- 使用Maven运行Java main的3种方式使用Maven运行Java main的3种方式
maven使用exec插件运行java main方法,以下是3种不同的操作方式. 一.从命令行运行 1.运行前先编译代码,exec:java不会自动编译代码,你需要手动执行mvn compile来完成 ...
- PIE SDK与Matlab结合说明文档
1.功能简介 Matlab是三大数学软件之一,它在数学类科技应用软件中在数值计算方面首屈一指.Matlab可以进行矩阵运算.绘制函数和数据.实现算法.创建用户界面.连接其他编程语言的程序等,主要应用于 ...
- 让android系统中任意一个view变成进度条
1.效果 2.进度条背景drawable文件 结束后可以恢复原背景. <?xml version="1.0" encoding="utf-8"?> ...
- 转 Oracle]如何在Oracle中设置Event
https://www.cnblogs.com/gaojian/p/7619960.html 为了调查Oracle 的故障,可以通过设置event ,来了解详细的状况.方法如下: ■ 如果使用 SPF ...
- oracle 操作实例(一)----rman 全备恢复
一,环境背景 拥有全备数据库 全备脚本: export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=/u01 export ORACLE_SID=pr ...