软件构造1-Java 文件操作 文件写入

Java基本文件写入操作

这里列出几种常见的文件写入操作与各种操作的基本属性,供之后的实验和学习中使用。

import java.io.*;

public class Main {
    public static void writeByFileWriter() {
        // FileWriter 类存在四种构造器
        //1. public FileWriter(String fileName) throws IOException
        //2. public FileWriter(String fileName,boolean append) throws IOException
        //3. public FileWriter(File file) throws IOException
        //4. public FileWriter(File file,boolean append) throws IOException
        //在不存在文件的情况下均会生成对应文件,无需 FIle.exits() 检查
        //如果对应文件路径参数非正常文件路径 (例如文件夹) 则会 throws 错误
        //对于非文本文件(视频、图片、音频) 只能使用 字节流!
        //适用于写入文本较少的情况
        String pathName = "C:\\Users\\DELL\\Desktop\\1.txt";
        String text = "hehhehhehe hhahhahha \n";
        try {
            FileWriter fw = new FileWriter(pathName);
            fw.write(text);
            fw.flush();
            fw.close();
        }catch (IOException e){
            e.printStackTrace();
        }
    }

    public static void writeByBuffer(){
        //BufferedWriter 构造器:
        //1. public BufferedWriter(Writer out)
        //2. public BufferedWriter(Writer out,int sz)
        // BufferWriter FileWriter 都是继承Writer
        //java继承特性 参数定义为类A时 参数可以使用其本身或子类,但不能使用其父类
        // BufferedWriter 使用的是 字符输出流
        //内容较多时一般使用更高效的缓冲器流类BufferedWriter
        String pathName = "C:\\Users\\DELL\\Desktop\\1.txt";
        String text = "hehhehhehe hhahhahha \n";
        try {
            BufferedWriter bw = new BufferedWriter(new FileWriter(pathName));
            bw.write(text);
            bw.flush();
            bw.close();
        }catch (IOException e){
            e.printStackTrace();
        }
    }

    public static void writeByBufferedStream(byte[] buf){
        //构造器
        //1. public BufferedOutputStream(OutputStream out)
        //2. public BufferedOutputStream(OutputStream out,int size)
        //BufferedOutputStream 使用的是字节流
        String pathName = "C:\\Users\\DELL\\Desktop\\1.txt";
        try {
            BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(pathName));
            bos.write(buf);
            bos.flush();
            bos.close();
        }catch (IOException e){
            e.printStackTrace();
        }
    }

    public static void writeByFileInputStream(byte[] buf){
        //类比 FileWriter 和 BuffrdWriter的区别
        String pathName = "C:\\Users\\DELL\\Desktop\\1.txt";
        try{
            FileOutputStream fos = new FileOutputStream(pathName);
            fos.write(buf);
            fos.flush();
            fos.close();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值