JavaSE基础 IO流

本文详细介绍了Java中文件操作的基础方法,包括File类的常用方法如路径处理、文件属性检查、I/O流的使用实例,以及如何通过字符流和字节流进行文本文件的读写。重点涵盖了文件路径操作、目录创建与删除,以及输入输出流的典型应用,适合Java开发者深入理解文件操作原理。
摘要由CSDN通过智能技术生成

文件常用方法

            //File.separator 属性帮我们获取当前操作系统路径拼接符号
            File f = new File("E:"+File.separator+"MFC.txt");
            File f2 = new File("E:\\MFC.txt");
            f.canRead();//判断是否可读
            f.canWrite();//判断是否可写
            f.getName();//获取文件名
            f.getParent();//获取文件上级目录
            f.isDirectory();//是否是目录
            f.isFile();//是否是文件
            f.isHidden();//是否隐藏
            f.length();//获取文件大小
            
            if(f.exists()){//是否存在
                f.delete();//删除文件
            }else{
                try {
                    f.createNewFile();//创建新文件
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            f.equals(f2);//比较两个文件的路径
        
            f.getAbsolutePath();//获取绝对路径
            f.getPath();//获取相对路径
	     f.toString();//toString 效果 也是 获取相对路径

文件对目录的操作

            File f = new File("E:\\Windows程序设计");
            f.mkdir();//创建单个目录
            f.mkdirs();//创建多层目录
            f.delete();//删除一个目录(前提目录是空的)
            f.list();//查看文件夹下的全部文件夹 包含文件

输入输出流

1 读取一个字符


import java.io.*;

public class test {
    public static void main(String[] args) throws IOException {
          
            File f = new File("E:\\MFC.txt");

           FileReader fr = new FileReader(f);

        fr.read();//只能读取一个字符 返回字符的ASCII码 如果到了文件结尾返回-1
        int fd;
        while ((fd = fr.read()) != -1){
            System.out.print((char) fd);//
        }
        fr.close();//关闭流
    }
}

读取一些字符 

import javax.print.DocFlavor;
import java.io.*;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class test {
    public static void main(String[] args) throws IOException {
           
            File f = new File("E:\\MFC.txt");

        FileReader fr = new FileReader(f);
        char[] ch = new char[5];//缓冲数组
        int len = fr.read(ch);//返回实际读取的长度 读取五个保存到ch中
        while (len != -1){
            for (int i=0;i<len;i++){
                System.out.print(ch[i]);//获取ch数组中的数据
            }
            len   = fr.read(ch);
        }
        fr.close();//关闭流

    }
}

 写入数据

import java.io.*;

public class test {
    public static void main(String[] args) throws IOException {

            File f = new File("E:\\MFC.txt");
            FileWriter fw = new FileWriter(f,false);//对源文件 覆盖 true 追加文件
            fw.write("A");//写入一个字符
            fw.close();

    }
}

 写入一些数据

public class test {
    public static void main(String[] args) throws IOException {

            File f = new File("E:\\MFC.txt");
            FileWriter fw = new FileWriter(f,false);//对源文件 覆盖 true 追加文件
            String str = "MFC微软基础类库";
            char[] chars = str.toCharArray();//字符串转化字符数组
            fw.write(chars);//写入字符数组
            fw.close();
    }
}

不要用字符流 操作 非文本文件!!!

字节流 输入输出流 完成exe文件拷贝


import java.io.*;


public class test {
    public static void main(String[] args) throws IOException {

            File f1 = new File("E:\\Program Files (x86)\\Code\\C++\\a.exe");//具体文件
            File f2 = new File("E:\\a.exe");//目标地址

            FileInputStream fis = new FileInputStream(f1);//文件读取
            FileOutputStream os = new FileOutputStream(f2);//文件写入
        
            byte[] b = new byte[1024];//缓冲数组
        
            int read = fis.read(b);//读取文件到缓冲数组中 返回实际读取的字节大小
            //循环读取 文件内容 并且 写入目标地址
            while (read != -1){  
                os.write(b);//把 字节数组的内容 写入
                read = fis.read(b);//读取内容到字节数组中
            }
        
            os.close();
            fis.close();
    }
}

  

 完成了exe文件的拷贝

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值