文件与IO-字节输入/输出

package IoDemo;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * @Title:ByteStreamDemo
 * @Description:字节输出流输入流 :
 *                 1.输出流:超类OutputStream,对文件的输出流使用子类FileOutputStream
 *                 2.输入流:超类InputStream,对文件的输入流使用子类FileInputStream
 * @author Crazy-ZJ
 * @data 2017年9月22日上午10:29:53
 * @book 疯狂java讲义(第三版):
 */
public class ByteStreamDemo {
    public static void in(){
        //1.确定目标文件
        File file = new File("F:\\test\\test.txt");
        //2.构建一个文件输入流对象
        try {
            InputStream in = new FileInputStream(file);
            byte[] bytes = new byte[1024];
            StringBuilder buf = new StringBuilder();
            int len = -1;//表示每次读取的字节长度
            //把数据读入到数组中,并返回读取的字节数,当不等于-1时,表示读取到数据,等于-1表示文件已经读取完
            while((len = in.read(bytes))!=-1){//int read(byte[] b)从该输入流读取最多 b.length个字节的数据为字节数组 此方法返回的是一个长度,例如bytes只用了5 那么len的值也就是5
                //根据读取到的字节数组,再转换为字符串内容,添加到StringBuilder中
                buf.append(new String(bytes));
            }
            //打印读取到的内容
            System.out.println(buf);
            //关闭流
            in.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        
        
    }
    public static void out(){
        //1.确定目标文件
        File file = new File("F:\\test\\test.txt");
        //2.构建一个文件输出流对象
        try{
            OutputStream out = new FileOutputStream(file,true);//append为true表示追加内容
            //3.输出的内容
            String info = "东软要垮了!!\r\n";
            
            String line = System.getProperty("line.separator");//获取换行符
            //4.把内容写到文件中
            out.write(info.getBytes());
            //5.关闭流
            out.close();
            System.out.println("Write success...");
        }catch (FileNotFoundException e){
            e.printStackTrace();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    public static void main(String[] args){
//        out();
        in();
    }
}

 

posted @ 2017-09-27 16:33  南派周叔叔  阅读(311)  评论(0编辑  收藏  举报