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

Posted 南派周叔叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件与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);
            //3.输出的内容
            String info = "东软要垮了!!";
            //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();
    }
}

 

以上是关于文件与IO-字节输入/输出的主要内容,如果未能解决你的问题,请参考以下文章

Java入门——IO(输入与输出)

IO流(文件字节输入输出

Java 演示如何用标准的输入输出流重定向到一个文件

JavaSE基础九----<IO流 >流的体系和分类,字节流,字节缓冲流

Java IO流

缓冲流