自学内容网 自学内容网

IO流体系(FiletOutputStream)

书写步骤:

1.创建字节输出流对象

细节1:参数是字符串表示的路径或者是File对象都是可以的

细节2:如果文件不存在会创建一个新的文件,但是要保证父级路径是存在的。

细节3:如果文件已经存在,则会清空文件

2.写数据

细节:write方法的参数是整数,但是实际上写到本地文件中的是整数在ASCII上对应的字符

3.释放资源

每次使用完之后都要释放资源

提前创建好a.txt的文件

package myio;

import java.io.FileOutputStream;
import java.io.IOException;

public class IoDemo1 {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\你自己的路径\\a.txt");
        fos.write(97);
        fos.close();
    }
}

运行之后就可以看见a.txt里面多了个a

一次写多个数据

一次写一个字节数组数据

package myio;

import java.io.FileOutputStream;
import java.io.IOException;

public class IoDemo1 {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\Web\\API\\src\\myio\\a.txt");
//        fos.write(97);
        byte[] bytes = {97,98,99,100,101};
        fos.write(bytes);
        fos.close();
    }
}

写数组中的部分数据

package myio;

import java.io.FileOutputStream;
import java.io.IOException;

public class IoDemo1 {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\Web\\API\\src\\myio\\a.txt");
//        fos.write(97);
        byte[] bytes = {97,98,99,100,101};
//        fos.write(bytes);
        fos.write(bytes,1,3);
        fos.close();
    }
}

换行写

1.再次写出一个换行符就可以了

windows:\r\n Linux:\n Mat:\r

细节:

在windows操作系统当中,java对回车换行进行了优化。虽然完整的是\r\n,但是我们写其中一个\r或者\n,java也可以实现换行,因为java在底层会补全。

建议:不要省略,还是写全了

package myio;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;

public class IoDemo2 {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\Web\\API\\src\\myio\\a.txt");
        String str = "shiyifangjia";
        byte[] bytes = str.getBytes();
//        System.out.println(Arrays.toString(bytes));
        fos.write(bytes);
        //换行
        String wrap = "\r\n";
        byte[] bytes1 = wrap.getBytes();
        fos.write(bytes1);
        String str2 = "666";
        byte[] bytes2 = str2.getBytes();
        fos.write(bytes2);
        fos.close();

    }
}

续写

如果想要续写,打开续写开关即可

开关位置:创建对象的第二个参数

默认false:表示关闭续写,此时创建对象会清空文件

手动传递true:表示打开续写,此时创建对象不会清空文件


原文地址:https://blog.csdn.net/qq_63126439/article/details/142387507

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!