码迷,mamicode.com
首页 > 其他好文 > 详细

第六篇 IO流技术(六)

时间:2018-08-29 22:18:06      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:ack   put   刷新   不用   get   com   try   final   读取   

package com.zzp.demo01;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

/**
 * 
 * 四个步骤:字节数组输入流
 * 1、创建源:字节数组不能过大
 * 2、选择流
 * 3、操作
 * 4、释放资源:可以不用处理
 * @author java
 *
 */
public class IOTest07 {
    public static void main(String[] args) {
        //1、创建源
        byte[] src = "talk is cheap show me the code".getBytes();//相对路径
        //2、选择流
        InputStream is = null;
        try {
            is = new ByteArrayInputStream(src);
            //3、操作  分段读取
            byte[] flush = new byte[5]; //每次读取五个字节
            int len = -1;//设置默认长度为-1
            while((len = is.read(flush))!= -1){
                String str = new String(flush, 0, len);//将字节转化为字符串
                System.out.println(str);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            if(null != is){
                //4、释放资源
                try {
                    is.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }         
    }
}
package com.zzp.demo01;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.OutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStream;

/**
 * 
 * 四个步骤:(字节数组输出流)
 * 1、创建源:内部维护
 * 2、选择流:不关联源
 * 3、操作
 * 4、释放资源:可以不用
 * 最后要拿一下数据使用toByteArray
 * @author java
 *
 */
public class IOTest08 {
    public static void main(String[] args) {
        //1、创建源
        byte[] dest = null;
        //2、选择流
        ByteArrayOutputStream os = null;
        try {
            os = new ByteArrayOutputStream();
            //3、操作(写入操作)
            String msg = "我爱我的国家";
            byte[] datas = msg.getBytes();//将字符串转化成字节数组
            os.write(datas, 0, datas.length);
            os.flush();//刷新
            byte[] byteArray = os.toByteArray();
            System.out.println(byteArray.length+"----"+new String(byteArray, 0, os.size()));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            if(null != os){
                try {
                    os.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }
}

 

第六篇 IO流技术(六)

标签:ack   put   刷新   不用   get   com   try   final   读取   

原文地址:https://www.cnblogs.com/zhangzhipeng001/p/9557233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!