0
点赞
收藏
分享

微信扫一扫

28IO流,字节输出流写入多个字节

zmhc 2022-02-13 阅读 73

write() 有3个  将数据写入到硬盘中

  write(byte[] b)将b.length个字节从指定的byte数组写入此输出流

public void' write(byte[] b):将b.length字节从指定的字节数组写入此输出流
  如果写的第一个字节是正数(0-127),那么显示的时候会查询ASCII表
  如果写的第一个字节是负数,那第一个字节会和第二个字节组成一个中文显示,查询系统默认码表(GBK)

  write(byte[] b,int off,int len ) 将指定的字节数组写入len个字节,从偏移量off开始输出到此的输出流

 public void write(byte [] b,int off,int len):把字节数组的一部分写入到文件中
   int off:数组的开始索引
   int len:写几个字节
   指定的字节数组写入len字节,从偏移量off开始输出到此输出流

  write(int b)将指定的字节输出流  写一个字节

/*
写入字符方法:可以使用String类中的方法把字符串,转换为字节数组
  byte[] getByte() 把字符串转换为字节数组
 */
byte[] byte2="你好".getBytes();
System.out.println(Arrays.toString(byte2));//[-28, -67, -96, -27, -91, -67]  编码格式UTF-8里边3个字节是一个中文,JDK中2个字节是一个中文
fos.write(byte2);

详细代码:

package demo28字节输出流写多个字节;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.Arrays;

public class DenoOutputStream {
    public static void main(String[] args) throws IOException {
        //1.创建一个FileOutputStream对象,构造方法中传递写入数据的目的地
        FileOutputStream fos=new FileOutputStream(new File("E:\\多线程\\b.txt"));
        //2.调用FileOutputStream对象中的write方法把数据写入到文件中
        //在文件中写入100,需要写3个字节
        fos.write(49);
        fos.write(48);
        fos.write(48);

        /*
        public void' write(byte[] b):将b.length字节从指定的字节数组写入此输出流
          如果写的第一个字节是正数(0-127),那么显示的时候会查询ASCII表
          如果写的第一个字节是负数,那第一个字节会和第二个字节组成一个中文显示,查询系统默认码表(GBK)
         */
        byte [] bytes={65,66,67,68,69};//ABCDE
        byte [] bytess={-65,-66,-67,68,69};
        //fos.write(bytess);//烤紻E
        fos.write(bytes);//ABCDE
        /*
        public void write(byte [] b,int off,int len):把字节数组的一部分写入到文件中
           int off:数组的开始索引
           int len:写几个字节
           指定的字节数组写入len字节,从偏移量off开始输出到此输出流
         */
        fos.write(bytes,1,2);//把数组的一部分,BC写入

        /*
        写入字符方法:可以使用String类中的方法把字符串,转换为字节数组
          byte[] getByte() 把字符串转换为字节数组
         */
        byte[] byte2="你好".getBytes();
        System.out.println(Arrays.toString(byte2));//[-28, -67, -96, -27, -91, -67]  编码格式UTF-8里边3个字节是一个中文,JDK中2个字节是一个中文
        fos.write(byte2);

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

结果:创建b.txt,写入数据

刚开始时

 运行代码后:

 

 

 

举报

相关推荐

0 条评论