enum用法_javastring转double

enum用法_javastring转doubleByteArrayOutputStream用法字节数组流:ByteArrayOutputStream:可以捕获内存缓冲区的数据,转换成字节数组。ByteArrayoutputStreambout=newByteArrayOutputStream();bout.write(inta);bo

大家好,欢迎来到IT知识分享网。

ByteArrayOutputStream用法

 

字节数组流:
ByteArrayOutputStream:    可以捕获内存缓冲区的数据,转换成字节数组。
ByteArrayoutputStream bout=new ByteArrayOutputStream();
bout.write(int a);  bout.write(int b);  bout.write(int c);
byte[] buf=bout.toByteArray();//获取内存缓冲中的数据
for(int i=0;i<=buf.length;i++)
{
  System.out.println(buf);
}
bout.close();
注:通过调用reset()方法可以重新定位。
ByteArrayInputStream: 可以将字节数组转化为输入流
ByteArrayInputStream bin=new ByteArrayInputStream(byte[] buf);
int data=0;
while( (b=bin.read())!=-1)
{
  System.out.println(b);
}
bin.close();

与DataOutputStream&DataInputStream联合使用:
ByteArrayOutputStream bout=new ByteArrayOutputStream();
DataOutputStream dos=new DataOutputStream(bout);
String name=”suntao”;
int age=19;
dos.writeUTF(name);
dos.writeInt(age);
byte[] buf=bout.toByteArray();//获取内存缓冲区中的数据
dos.close();
bout.close();

ByteArrayInputStream bin=new ByteArrayInputStream(byte[] buf);
DataInputStream dis=new DataInputStream(bin);
String name=dis.readUTF();//从字节数组中读取
int age=dis.readInt();
dis.close();
bin.close();

注:  DataInputStream&DataOutputStream还可以与FileInputStream&FileOutputStream
联合使用。
其中:
DataInputStream&DataOutputStream关心如何将数据从高层次的形式转化成低层次的形式.
FileInputStream&FileOutputStream关心如何操作存储单元以接受和产生数据。

 转自:https://www.cnblogs.com/mayola/archive/2011/11/17/2252646.html 

分类:  java基础,  工具包
 
_____________________________________________________________________________________
 
 

ByteArrayOutputStream的用法

ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或读出byte型数据。在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。具体用法如下: 

ByteArrayOutputStream:    可以捕获内存缓冲区的数据,转换成字节数组

ByteArrayInputStream: 可以将字节数组转化为输入流

public static void main(String[] args) { 
    int a = 0; 
    int b = 1; 
    int c = 2; 
    ByteArrayOutputStream bout = new ByteArrayOutputStream(); 
    bout.write(a); 
    bout.write(b); 
    bout.write(c); 
    byte[] buff = bout.toByteArray(); 
    for (int i = 0; i < buff.length; i++) 
        System.out.println(buff[i]); 
    System.out.println("***********************"); 
    ByteArrayInputStream bin = new ByteArrayInputStream(buff); 
    while ((b = bin.read()) != -1) { 
        System.out.println(b); 
    } 
}

 

如上所示,ByteArrayOutputStream把内存中的数据读到字节数组中,而ByteArrayInputStream又把字节数组中的字节以流的形式读出,实现了对同一个字节数组的操作. 
综合DataOutputStream&DataInputStream的作用和功能,与ByteArrayOutputStream和ByteArrayInputSream使用将更方便.此时DataOutputStream&DataInputStream封闭了字节流,以适当的形式读出了字节数组中的数据.如下所示:

public static void main(String[] args) throws IOException { 
    ByteArrayOutputStream bout = new ByteArrayOutputStream(); 
    DataOutputStream dout = new DataOutputStream(bout); 
    String name = "xxy"; 
    int age = 84; 
    dout.writeUTF(name); 
    dout.writeInt(age); 
    byte[] buff = bout.toByteArray(); 
    ByteArrayInputStream bin = new ByteArrayInputStream(buff); 
    DataInputStream dis = new DataInputStream(bin); 
    String newName = dis.readUTF(); 
    int newAge = dis.readInt(); 
    System.out.println(newName + ":" + newAge); 
}

********************************************************************************

 

ByteArrayOutputStream及其在IO中的应用

一、基本概念

在创建ByteArrayOutputStream类实例时,内存中会创建一个byte数组类型的缓冲区,缓冲区会随着数据的不断写入而自动增长。

可使用toByteArray()和toString()获取数据。

关闭ByteArrayOutputStream无效,此类中的方法在关闭此流后仍可被调用,而不会产生任何IOException

    /**
     * 读取文件内容
     * 
     * @param filename 文件名
     * @return
     */
    public String read(String filename) throws Exception
    {
        FileInputStream fis = new.FileInputStream(filename); 
        ByteArrayOutputStream outStream = new ByteArrayOutputStream(); 
        byte[] buffer = new byte[1024];
        int len = 0;
        // 将内容读到buffer中,读到末尾为-1
        while ((len = fis.read(buffer)) != -1)
        {
            // 本例子将每次读到字节数组(buffer变量)内容写到内存缓冲区中,起到保存每次内容的作用
            outStream.write(buffer, 0, len);
        }
        byte[] data = outStream.toByteArray(); // 取内存中保存的数据
        fis.close();
        String result = new String(data, "UTF-8");
        return result;
    }

 

 

 

 

 

 

ByteArrayOutputStream的用法

Java基础专栏收录该内容
27 篇文章
0 订阅
订阅专栏

ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或读出byte型数据。在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。具体用法如下: 

ByteArrayOutputStream:    可以捕获内存缓冲区的数据,转换成字节数组 

ByteArrayInputStream: 可以将字节数组转化为输入流

  1.  
    public
    static
    void
    main
    (String[] args) {

  2.  
    int
    a
    =
    0;

  3.  
    int
    b
    =
    1;

  4.  
    int
    c
    =
    2;

  5.  
    ByteArrayOutputStream
    bout
    =
    new
    ByteArrayOutputStream();

  6.  
    bout.write(a);

  7.  
    bout.write(b);

  8.  
    bout.write(c);

  9.  
    byte[] buff = bout.toByteArray();

  10.  
    for (
    int
    i
    =
    0; i < buff.length; i++)

  11.  
    System.out.println(buff[i]);

  12.  
    System.out.println(
    “***********************”);

  13.  
    ByteArrayInputStream
    bin
    =
    new
    ByteArrayInputStream(buff);

  14.  
    while ((b = bin.read()) != –
    1) {

  15.  
    System.out.println(b);

  16.  
    }

  17.  
    }

如上所示,ByteArrayOutputStream把内存中的数据读到字节数组中,而ByteArrayInputStream又把字节数组中的字节以流的形式读出,实现了对同一个字节数组的操作. 




综合DataOutputStream&DataInputStream的作用和功能,与ByteArrayOutputStream和ByteArrayInputSream使用将更方便.此时DataOutputStream&DataInputStream封闭了字节流,以适当的形式读出了字节数组中的数据.如下所示:

 

 

  1.  
    public
    static
    void
    main
    (String[] args)
    throws IOException {

  2.  
    ByteArrayOutputStream
    bout
    =
    new
    ByteArrayOutputStream();

  3.  
    DataOutputStream
    dout
    =
    new
    DataOutputStream(bout);

  4.  
    String
    name
    =
    “xxy”;

  5.  
    int
    age
    =
    84;

  6.  
    dout.writeUTF(name);

  7.  
    dout.writeInt(age);

  8.  
    byte[] buff = bout.toByteArray();

  9.  
    ByteArrayInputStream
    bin
    =
    new
    ByteArrayInputStream(buff);

  10.  
    DataInputStream
    dis
    =
    new
    DataInputStream(bin);

  11.  
    String
    newName
    = dis.readUTF();

  12.  
    int
    newAge
    = dis.readInt();

  13.  
    System.out.println(newName +
    “:” + newAge);

  14.  
    }

********************************************************************************

 

ByteArrayOutputStream及其在IO中的应用

一、基本概念

在创建ByteArrayOutputStream类实例时,内存中会创建一个byte数组类型的缓冲区,缓冲区会随着数据的不断写入而自动增长。

可使用toByteArray()和toString()获取数据。

关闭ByteArrayOutputStream无效,此类中的方法在关闭此流后仍可被调用,而不会产生任何IOException

  1.  
    /**

  2.  
    * 读取文件内容

  3.  
    *

  4.  
    * @param filename 文件名

  5.  
    * @return

  6.  
    */

  7.  
    public String
    read
    (String filename)
    throws Exception

  8.  
    {

  9.  
    FileInputStream
    fis
    = new.FileInputStream(filename);

  10.  
    ByteArrayOutputStream
    outStream
    =
    new
    ByteArrayOutputStream();

  11.  
    byte[] buffer =
    new
    byte[
    1024];

  12.  
    int
    len
    =
    0;

  13.  
    // 将内容读到buffer中,读到末尾为-1

  14.  
    while ((len = fis.read(buffer)) != –
    1)

  15.  
    {

  16.  
    // 本例子将每次读到字节数组(buffer变量)内容写到内存缓冲区中,起到保存每次内容的作用

  17.  
    outStream.write(buffer,
    0, len);

  18.  
    }

  19.  
    byte[] data = outStream.toByteArray();
    // 取内存中保存的数据

  20.  
    fis.close();

  21.  
    String
    result
    =
    new
    String(data,
    “UTF-8”);

  22.  
    return result;

  23.  
    }

  24.  

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/28186.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信