zoukankan      html  css  js  c++  java
  • 数据输入/输出流与字节转换流

     一.数据输入/输出流

     1 /**
     2  *   数据输入输出流
     3  * 类说明
     4  *     1.public class ByteArrayOutputStream extends OutputStream
     5  *          该类实现了将数据写入字节数组的输出流。 当数据写入缓冲区时,缓冲区会自动增长。
     6  *          数据可以使用toByteArray()和toString() 。    
     7  */
     8 import java.io.ByteArrayInputStream;
     9 import java.io.ByteArrayOutputStream;
    10 import java.io.DataInputStream;
    11 import java.io.DataOutputStream;
    12 import java.io.IOException;
    13 
    14 public class TestDateStream {
    15     public static void main(String[] args) {
    16         ByteArrayOutputStream baos=
    17                 new ByteArrayOutputStream();
    18         /*
    19          * 数据输出流使应用程序以便携式方式将原始Java数据类型写入输出流。 
    20          * 然后应用程序可以使用数据输入流来读取数据。 
    21          */
    22         DataOutputStream dos=
    23                 new DataOutputStream(baos);
    24         try {
    25             //输出一个随机数
    26             dos.writeDouble(Math.random());
    27             //输出一个Boolean类型的随机数
    28             dos.writeBoolean(true); 
    29             /*
    30              * toByteArray()创建一个新分配的字节数组。 其大小是此输出流的当前大小,
    31              * 缓冲区的有效内容已被复制到其中。
    32              * 字节数组输入流的长度就等于字节数组输出流的长度
    33              */
    34             ByteArrayInputStream bais=
    35                 new ByteArrayInputStream(baos.toByteArray());
    36             //available() 返回可从此输入流读取(或跳过)的剩余字节数。
    37             System.out.println(bais.available());
    38             DataInputStream dis = new DataInputStream(bais);
    39             System.out.println(dis.readDouble());
    40             System.out.println(dis.readBoolean());
    41             dos.close(); dis.close();
    42         } catch (IOException e) {
    43             e.printStackTrace();
    44         }
    45     }
    46 }


     二.字节转换流

     1 import java.io.FileNotFoundException;
     2 import java.io.FileOutputStream;
     3 import java.io.IOException;
     4 import java.io.OutputStreamWriter;
     5 
     6 public class TestTransForm {
     7     public static void main(String[] args){
     8         try {
     9             //确定输出目的文件
    10             OutputStreamWriter osw = new OutputStreamWriter(
    11                     new FileOutputStream("C:/Users/罗摩衔那/Desktop/write.txt"));
    12             //被输出字符流数据
    13             osw.write("mircosoftibmsunapplehp");
    14             //getEncoding() 
    15             //返回此流使用的字符编码的名称。 
    16             System.out.println(osw.getEncoding());
    17             osw.close();
    18             //true代表在原来的基础之上进行追加,否则会被擦除
    19             osw=new OutputStreamWriter(
    20                     new FileOutputStream("C:/Users/罗摩衔那/Desktop/write.txt",true),"ISO8859_1");
    21             osw.write("mircosoftibmsunapplehp");
    22             System.out.println(osw.getEncoding());
    23             osw.close();
    24         } catch (IOException e) {
    25             e.printStackTrace();
    26     }
    27 }
    28 }

  • 相关阅读:
    spring 注解笔记
    spring boot 拦截器
    spring boot 启动流程及其原理
    Spring之BeanFactory和FactoryBean接口的区别
    微信支付
    三级联动
    搜索分页
    多选标签
    分类界面 大分类小分类
    触底下拉
  • 原文地址:https://www.cnblogs.com/zjm1999/p/10149600.html
Copyright © 2011-2022 走看看