码迷,mamicode.com
首页 > 编程语言 > 详细

java基础-输入输出流-大文本文件读取及写入另一文本-----(此程序print部分有bug,输出不正常,原因琢磨不清了。。。)

时间:2015-07-10 23:31:59      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:

简介:如题

import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 * @author czchina
 *
 */
public class TestStream {
    public static void main(String[] args) {
        
        FileInputStream fls = null;
        FileOutputStream fos =null;
        
        try{
            fls = new FileInputStream("E:/Android/AndroidStudioProjects/text.txt");
            fos = new FileOutputStream("E:/Android/AndroidStudioProjects/store.txt");
            //生成一个字节数组
            byte [] buffer= new byte [500];
            
            int num = 0;
            int tmp = 0;
            int tmp1 = 0;
            for(int i=0;i<3;i++){
                tmp = fls.read(buffer,0,buffer.length);
                if(-1 == tmp){
                    System.out.print("Read complete ! \n");
                    
                    break;
                }
                
                //打印buffer
                String bufferToString = new String(buffer);
                bufferToString = bufferToString.trim();
                System.out.println("Print bufferToString:\n"+bufferToString+"\n");
                
                tmp1 = tmp;
                if(500 == tmp1){
                    num++;
                    tmp1 = 0;
                }
                fos.write(buffer,0,tmp);
            }
            //流的字节数
            num = num*500+tmp1;
            System.out.println("num: "+num);
            
        }
        catch(Exception e){
            System.out.println(e.toString());
        }
    }
}

输入流文本:

技术分享

输出流文本:

技术分享

可见:流的输入与输出都没有问题。

 

以下是console打印:

技术分享

 

如上图:

1、问题:红圈内文本打印了两次,原因不明‘

2、num计数正确。

java基础-输入输出流-大文本文件读取及写入另一文本-----(此程序print部分有bug,输出不正常,原因琢磨不清了。。。)

标签:

原文地址:http://www.cnblogs.com/plant/p/4637611.html

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