栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

io文件基本操作和拷贝文件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

io文件基本操作和拷贝文件

文件分为普通文件,目录文件和特殊文件.
1.普通文件即有后缀的一般文件,例如xxx.java xxx.txt.
2.目录文件即文件夹
3.特殊文件即和硬件相关的文件
普通文件在创建时应注意父级文件都应该存在,否则会抛出异常.
目录文件创建用mkdirs方法,不管多少级目录都可以创建
特殊文件…
普通文件:

package threaddemo.iotest;

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

public class IoTest {

    public static void main(String[] args) throws IOException {
        File file = new File("E://asd//hfs.txt");
        System.out.println("该文件是否存在: "+file.exists());
        boolean tem=file.createNewFile();
        System.out.println("该文件是否创建成功 "+tem);
        System.out.println("该文件是否是目录文件 "+file.isDirectory());
        System.out.println(file.getName());
        System.out.println(file.getParent());
        System.out.println(file.getPath());
        System.out.println(file.getParentFile());
        System.out.println("该文件是否存在: "+file.exists());
    }
}


目录文件:

package threaddemo.iotest;

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

public class IoTest {

    public static void main(String[] args) throws IOException {
        File file = new File("E://hfs//fas");
        System.out.println("该文件是否存在: "+file.exists());
        boolean tem = file.mkdirs();
        System.out.println("该文件是否创建成功 "+tem);
        System.out.println("该文件是否是目录文件 "+file.isDirectory());
        System.out.println(file.getName());
        System.out.println(file.getParent());
        System.out.println(file.getPath());
        System.out.println(file.getParentFile());
        System.out.println("该文件是否存在: "+file.exists());
    }
}

结果:





文件拷贝:流对象,真正会抛出异常和需要关闭的是和底层打交道的FileReader那几个流对象.
两种方式,传统方式代码繁琐,但好理解:

public static void main2(String[] args) {
        FileReader fileReader = null;
        FileWriter fileWriter=null;
        try {
            fileReader = new FileReader("e://file.txt");
            fileWriter = new FileWriter("e://file2.txt");
            char[] a = new char[1024];
            int tmp;
            while((tmp=fileReader.read(a))!=-1){
                fileWriter.write(a,0,tmp);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        finally {
            try {
                if (fileReader != null) {
                    fileReader.close();
                }
                if (fileWriter != null) {
                    fileWriter.close();

                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

2.第二种方式,用try语句,注意:括号里的对象在try语句执行完会自动调用close方法,但要实现Closeable接口,只有实现了该接口才能用try语句,该接口没有任何抽象方法需要重写,注意:父类实现某个接口或继承某个类,子类不显示实现该接口,则子类也默认实现了该接口或继承了该类.

public static void main3(String[] args) {
        try (FileReader fileReader = new FileReader("e://file.txt");
             FileWriter fileWriter=new FileWriter("E://file2.txt")) {
            char[] a = new char[1024];
            int tmp;
            while((tmp=fileReader.read(a))!=-1) {
                fileWriter.write(a, 0, tmp);
            }
            }catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

也可以用自带的缓冲区类:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/630853.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号