Java------IO流

这篇博客详细介绍了Java中的IO流,包括流向、数据类型、构造方法以及字节流和字符流的使用。通过示例展示了如何创建字节输出流对象、写入数据并关闭流。还讨论了如何在字节输出流中实现换行,指出不同系统换行符的区别。最后,演示了如何使用FileOutputStream进行追加写入操作。
摘要由CSDN通过智能技术生成
IO流的分类:
    流向:
        输入流 读取数据
        输出流 写出数据
    数据类型:
        字节流
            字节输入流 读取数据 InputStream
            字节输出流 写出数据 OutputStream
(是一个抽象类,不能被实例化,需要找一个具体的子类FileOutStream)
构造方法:
    FileOutputStream(File file) 创建文件输出流以写入由指定的 File对象表示的文件。
    FileOutputStream(String name) 创建文件输出流以指定的名称写入文件。
        字符流
            字符输入流 读取数据 Reader
            字符输出流 写出数据 Writer
字节输出流的操作步骤:
 1、创建字节输出流对象
 2、调用方法,写数据
 3、释放资源
public class FileOutputStreamDemo1 {
    public static void main(String[] args) throws Exception{
        //创建字节流输出对象
        //FileOutputStream(File file) 创建文件输出流以写入由指定的 File对象表示的文件。
//        File file = new File("b.txt");
//        //如果目标文件不存在,自动创建
//        FileOutputStream fos = new FileOutputStream(file);
        //FileOutputStream(String name) 创建文件输出流以指定的名称写入文件。
        //如果目标文件不存在,自动创建
        FileOutputStream fos = new FileOutputStream("c.txt");
//        System.out.println(fos);

        //调用方法,写数据
        fos.write("大数据,yyds".getBytes());

        //释放资源
        //close()关闭此文件输出流并释放与此流相关联的任何系统资源。
        fos.close();

        fos.write("继续写入".getBytes());




    }
}
字节输出流写数据的几种方法:
    public void write(int b)
    public void write(byte[] b)
    public void write(byte[] b,int off,int len)
public class FileOutputStreamDemo2 {
    public static void main(String[] args) throws Exception{
        //创建字节输出流对象
        FileOutputStream fos = new FileOutputStream("d.txt");

        //public void write(int b)
        //97,底层存储的二进制,97对应的ASCII码的字符是a
        fos.write(97);//在文件里输入对应的ASCII码值
        fos.write(48);
        fos.write(65);

        //public void write(byte[] b)
        byte[] byts = {97,98,99,100,101};
        fos.write(byts);

        //public void write(byte[] b,int off,int len)
        //从位于偏移量 off的指定字节数组写入 len字节到该文件输出流。
        fos.write(byts,1,3);//数组下标从0开始故98,99,100对应的BCD




        //释放资源
        fos.close();
    }
}

输出结果:

如何实现换行呢?
    要想知道为什么没有实现换行?因为我们只写入了数据的字节,并没有写入换行符
    如何实现呢?在写字节的时候,添加一个换行符,注意:不同的系统,换行符不一定一样
    Mac: \r
    Windows: \r\n
    Linux: \n
public class FileOutputStreamDemo3 {
    public static void main(String[] args) throws Exception {
        //创建字节输出流对象
//        FileOutputStream fos = new FileOutputStream("e.txt");
//        fos.write("大数据1,yyds".getBytes());
//        fos.write("\r\n".getBytes());
//        fos.write("大数据2,yyds".getBytes());

        //FileOutputStream(String name, boolean append)
        //创建文件输出流以指定的名称写入文件。
        //true表示的是可以追加写入数据
        FileOutputStream fos = new FileOutputStream("e.txt", true);
        fos.write("\r\n今天下雪了\r\n".getBytes());
//        fos.write("\r\n".getBytes());
        fos.write("但是没有看到积雪".getBytes());


        //释放资源
        fos.close();
        //....
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值