String.getBytes()和String.tocharArray(),字节数组和字符数组的区别

String.getBytes()是将字符串转化为一个字节数组。而String.toCharArray()是将一个字符串转化为一个字符数组。

【例如】

byte bys[] ="国庆60周年".getBytes();

char chs[]="国庆60周年".toCharArray();

【那么字节数组和字符数组有什么区别呢?】

字节输入流和输出流的read和write方法使用字节数组读写数据,即以字节为基本单文处理数据。因此,字节流不能很好地操作Unicode字符,例如,一个汉字在文件中占用2个字节,如果使用字节流,读取不当会导致“乱码”的现象。字节类 FileInputStream 和FileOutputStream都是io下的类,而字符输出流 FileReader和字符输入流FileWriter都是Reader和Writer的子类。

当用构造方法创建指向一个文件的输出流是,如果参数append取值为true,输出流不会刷新所指向的文件(假如文件已存在),输出流的wirite的方法将从文件的末尾开始向文件写入数据,参数append取值false,输出流将刷新所指向的文件(假如文件已经存在)。append具有刷新功能;

对于Writer流,write方法将数据首先写入到缓冲区,每当缓冲区溢出时,缓冲区的内容被自动写入到目的地,如果关闭流,缓冲区的内容会立刻被写入到目的地。流调用flush()(不是flash)可以立刻冲洗当前缓冲区,即将当前缓冲区的内容写入到目的地。

原文地址:https://www.cnblogs.com/schiller-hu/p/8436323.html

时间: 2024-08-26 23:20:18

String.getBytes()和String.tocharArray(),字节数组和字符数组的区别的相关文章

JavaSE8基础 String toCharArray 字符串转换成字符数组

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t01; public class Demo02 { public static void main(String[] args) { String str = "JavaSE8你好"; char[] c = str.toCharArray();//字符串转换成字

字符数组与字符指针的区别与联系

1.字符指针可以指向一个字符串. 我们可以用字符串常量对字符指针进行初始化.例如,有说明语句: char *str = "This is a string."; 是对字符指针进行初始化.此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址. 这里要注意字符指针与字符数组之间的区别.例如,有说明语句: char string[ ]="This is a string."; 此时,string是字符数组,它存放了一个字符串. 字符指针str与字符数组str

string str将str转字符数组以及字符数组初始化

c和指针(<pointers on c>) 8.1.11 一个字符串,如"hello",一般为字符串常量,可以用它对字符指针赋值,或初始化,相当于把这个字符串常量的首地址赋给这个指针,如: char *p = "hello"; 或者 char *p; p="hello"; C++STL之string 字符串常量不能write能read 但是,当用"hello"给字符数组作初始化时,"hello"

【C++】C++自学旅程(4):数组与字符数组

数组方面基本与C相同.需要注意几个点如下: 一.多维数组 除了一维数组.二维数组,当然还可以实现多维数组(n维都可以),定义和使用方式类比二维数组.多维数组其实就是很多个一维数组的嵌套,数组里面有数组. 二.字符数组 字符数组就是数组元素为字符的数组,但其值得一提的是可以作为字符串使用.C++仍然没有字符串变量,实际上,string并不是C++语言本身具有的基本类型,它是在C++标准库中声明的一个字符串类,用这种类可以定义对象.每一个字符串变量都是string类的一个对象. 一个中文字占2B.

实验九:二维数组和字符数组的应用

知识点: 二维数组的定义及引用:1.二维数组的定义: 二维数组的定义形式:类型名   数组名[行长度][列长度]:例如:        int  a[3][2]:        定义1个二维数组a,3行2列,6个元素: int   b[5][10]:        定义1个二维数组a,5行10列,50个元素: 二维数组的引用:行下标的范围:0~行长度-1:                        列下表的范围:0~列长度-1: 字符串的存储和运算可以用一维字符数组实现: 一维字符数组的定义

作业九 二维数组和字符数组的应用

知识点: (1)二维数组的定义形式为: 类型名 数组名 [行长度] [列长度]; (2)引用二维数组的元素要制定两个下标,即行下标和列下标,形式为: 数组名 [行下标] [列下标] (3)行下标的合理取值范围是[0,行长度-1],列下标合理的取值范围是[0,列长度-1]. (4)分行赋初始值,一般形式为: 类型名 数组名 [行长度] [列长度]={{初值表0},-,{初值表k},-}; 然后可把初值表k中的数据一次赋值给第k行的元素. (5) 顺序赋初始值,一般形式为: 类型名 数组名 [行长度

【学习ios之路:C语言】一维数组,数组排序,字符数组

1.数组 数组,快速定义多个变量. 数组定义: 数据类型 数组名[数组元素的个数] = {值1, 值2, 值 3}; 数组所占存储空间大小 = 数组元素个数 * 每个元素所占的存储空间大小. %lu  unsigned long 无符号的长整型. 无符号 >=0 sizeof 存储大小值  //用来计算一个变量,类型,以及数组所占存储空间的大小. int a[5] = { 2, 7, 4, 3, 6 };  printf("%lu\n", sizeof(arr)); //5 in

099、Java中String类之字符数组与字符串的转换

01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String args[]) { String str = "hello"; // 定义字符串 char[] data = str.toCharArray(); // 将字符串变为字符数组 for (int x = 0; x < data.leng

Java基础知识强化35:String类之String类的转换功能

1. String类的转换功能 byte[] getBytes() char[] toCharArray() static String valueOf(char[] chs) static String valueOf(int i ) String toLowerCase() String toUpperCase() String concat(String str) 2. 案例: 1 package cn.itcast_05; 2 3 /* 4 * String的转换功能: 5 * byte