IO字符流处理

文件读取,把文件的内容读出来(InputStream)

有时候这个空间可能太小,有时候可能太大,我们需要准确的大小,这样节省空间,那么我们可以这样做:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class IOtest {
    public static void main(String[] args) throws IOException {
        String fileName = "C:\\Users\\DELL\\Desktop\\新建文本文档.txt";
        File file = new File(fileName);
        int len = (int) file.length();
        byte[] buffer = new byte[len];
        FileInputStream in = new FileInputStream(file);
        in.read(buffer);
        System.out.println(new  String(buffer));
    }
}

文件写入,把内容写入文件(OutputStream)

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class OutIOTest {
    public static void main(String[] args) throws IOException {
        String fileName = "C:\\Users\\DELL\\Desktop\\新建文本文档.txt";
        File file = new File(fileName);
        OutputStream out = new FileOutputStream(file,true);      //1、多态的运用。2、true表示是对原来的文件进行追加
        String str = "567";
        byte[] buffer = str.getBytes();  //getBytes () 是 Java 编程语言中将一个字符串转化为一个字节数组byte []的方法
        out.write(buffer);
        out.close();
    }
}

文件复制

import java.io.*;

public class copyFile {
    public static void main(String[] args) throws IOException {
        //获取被复制文件的文件名和路径名
        String str1 = "C:\\Users\\DELL\\Desktop\\新建文本文档.txt";
        int index = str1.lastIndexOf("\\");
        String fileName = str1.substring(index+1,str1.length());
        String pathName = str1.substring(0,index);


        //从被复制的文件得到copy文件的存放路径
        String str2 = pathName+"\\(副本)"+fileName;

        File file1 = new File(str1);
        File file2 = new File(str2);

        InputStream in = new FileInputStream(file1);
        OutputStream out = new FileOutputStream(file2);

        int temp;
        while ((temp=in.read())!=-1){
            System.out.println((String.valueOf(temp)));
            out.write(temp);        //temp是十进制的ASCII编码,结束的时候会返回-1。
        }
        out.close();
        in.close();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值