IO流

来源:互联网 发布:展览软件免费下载 编辑:程序博客网 时间:2024/05/15 11:25

1.IO包

所谓IO,也就是Input与Output的缩写

Java.io包提供了用于系统的输入和输出,通过数据流,序列化和文件系统。

input 读   输入

output写   输出


2.流

a.流是一组流动的数据的总称。类似于水流。

b.流是有方向的,我们应该以当前程序为参照物。

使用情况:

如果说是程序中要获得外面的数据,那么我们应该使用输入流。

如果有程序向外面扔数据就应该是输出流。


3.IO流

IO流分为字节流和字符流

a.字节流:

字节输入流:InputStream         字节输出流:OutputStream

用来处理声音或者图片等二进制的数据的流

b.字符流:

字符输入流:Writer                   字符输出流:Reader

用来处理文本数据(比如txt文件)的流


4.根据流数据的包装过程来分:

a.原始流:在实例化流的对象的过程中,不需要传入另外一个流为自己构造方法的参数的流,称之为原始流

b.包装流:在实例化流的对象的过程中,需要传入另外一个流作为自己构造方法发参数的流,称之为流

区分:所有的低端流都是原始流,所有的高端流都是包装流。


代码实现运用io流进行读取文件内容

import java.io.IOException;

/**
 * 需求:
 * 指定一个文件:
 *     如果这个文件存在,则读取这个文件中的内容
 *  如果这个文件不存在,则写内容到这个文件中
 * @author cookie
 *
 */
public class TestFile {
    public static void main(String[] args) {
        File file=new File("test.txt");
        //判断 该文件是否存在
        if(!file.exists()){
            //不存在:创建文件 写内容
            System.out.println("该文件不存在,正在创建...");
            //创建文件
            try {
                boolean b=file.createNewFile();
                if(b){
                    System.out.println("创建成功了...");
                    //写内容
                    FileWriter fw=new FileWriter(file);
                    fw.write("我和隔壁老王的第N次邂逅");
                    fw.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            //file.mkdir();//创建文件夹
        }else{
            //存在:读取内容
            System.out.println("该文件存在,文件内容如下:");
            
            //读
            try {
                FileReader fr=new FileReader(file);
                char cbuf[]=new char[1024];
                int len=0;
                while((len=fr.read(cbuf))!=-1){
                    //字符数组转成字符串
                    String s=new String(cbuf, 0, len);
                    System.out.println(s);
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}








原创粉丝点击