字节全讲解

来源:互联网 发布:表白的话感人的 知乎 编辑:程序博客网 时间:2024/06/14 00:41

byte类型

byte可描述的数据范围:-128~127,要比int小,它能够描述的只是字节数据

在String类中,专门提供有字符编码的转换方法

public byte[] getbytes(String charsetName)

字符编码不同会出现乱码

package cn.niyulu;import java.io.UnsupportedEncodingException;import java.nio.charset.Charset;public class Test {public static void main(String[] args) throws UnsupportedEncodingException {String str = "好好学习!天天向上!";System.out.println(Charset.defaultCharset());byte[] data = str.getBytes("GBK");System.out.println(new String(data));}}

输出结果

有可能你这里出现的不是UTF-8我这是人为设置的 不过现在这种字符编码转化已经很少使用了

在使用IO流的过程中,最原始支持的两个类OutputStream,InputStream这两个类中定义的方法都是以字节数组为主的

OutputStream类中定义的方法

       public void write(byte[] b)

InputStream的类中定义的方法

       public int read(byte[] b)

package cn.niyulu;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;public class Test {private static final File MY_FILE = new File("d:" + File.separator + "testdemo" + File.separator + "test.txt");static {if(!MY_FILE.getParentFile().exists()) {MY_FILE.getParentFile().mkdirs();}}public static void main(String[] args)  throws Exception {String str = "好好学习!天天向上!";out(str);System.out.println(in());}public static void out(String str) throws Exception {byte[] data = str.getBytes(); //OutputStream支持的是字节数据OutputStream output = new FileOutputStream(MY_FILE);output.write(data);output.close();}public static String in() throws Exception {byte[] data = new byte[1024];InputStream input = new FileInputStream(MY_FILE);int len = input.read(data);input.close();return new String(data,0,len);}}

运行结果