• Java 文件/文件夹


    File(文件、路径)

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

    //构造方法  无法判断 路径是否存在

    win下文件夹名称不区分大小写  文件与文件夹不能重名

    File f = new File("D:\a"); //(文件/文件夹)对象

    //File f = new File("D:" + File.separator + "a"); //多系统都能用

    //File f2 = new File("a.txt"); //相对路径  当前项目路径

    //File f3 = new File("D:\a","b\c.txt"); //(父路径, 子路径)

    //File f4 = new File(f,"b.txt"); //(File对象, 文件路径)

    String s1=File.pathSeparator; //系统 路径分隔符 win:分号  linux:冒号

    String s2=File.separator; //系统 文件夹分隔符 win:\  linux:/

    File file2=new File("src"); //相对路径

    String path=file2.getAbsolutePath();//获取绝对路径

    //F:javacodetooleclipseworkDay1224src

    //判断功能

    boolean flag = f2.createNewFile());//创建文件 是否成功 已存在不创建

    boolean flag = f.mkdirs();//创建(多级)文件夹 是否成功 已存在不创建

    boolean flag = f.delete();//删除文件/空文件夹 是否成功  不存在false

    boolean flag = f.exists(); //判断文件或者文件夹是否存在

    boolean flag = f.isAbsolute(); //判断File对象是否指向绝对路径

    boolean flag = f.isDirectory(); //判断File对象是否是文件夹

    boolean flag = f.isFile(); //判断File对象是否是文件

    boolean flag = f.isHidden();//判断File对象是否有隐藏属性

    //获取功能 修改名字功能

    File file = f.getAbsoluteFile()); //返回绝对路径的File对象

    String str = f.getAbsolutePath(); //返回File对象所指向的绝对路径

    File file = f.getParent();

    File file = f.getParentFile();

    String name = f.getName(); //获取文件/文件夹的名称   "a"

    String path = f.getPath(); //返回创建File对象时给的路径   "D:\a"

    long time = f.lastModified(); //获取最后修改时间 毫秒值

    //Date d = new Date(2514023311294L);

    //System.out.println(d.toLocaleString());

    long size = f.length(); //返回文件的字节数

    boolean flag = f.renameTo(f2); //修改路径 为 指定File路径

    //获取文件夹下的文件

    String[] files = f.list(); //返回File对象下所有的文件和文件夹名称

    File[] files = f.listFiles(); //返回File数组 无路径 报错 空指针异常

    //File[] files=f.listFiles(new Myfilter());  //满足Myfileter()条件的

    for (File f : files) {System.out.println(f.getName());}

    File[] files = File.listRoots();//返回根目录:哪个盘

    getFile(f);//调用  获取多级目录下符合条件的文件

    deleteFile(f);//删除指定的目录及内容 需先删除所有子文件和子目录

    }

    public static void getFile(File dir){//获取多级目录下符合条件的文件

    File[] files=dir.listFiles(new Myfilter()); //File过滤器 符合条件 进数组

    System.out.println(dir+"文件夹"); //打印文件夹

    for(File f:files){

    if(f.isDirectory()){getFile(f);} //文件夹  继续获取

    else{System.out.println(f);} //文件  打印

    }

    }

    //自定义类继承FileFilter过滤器接口

    public class Myfilter implements FileFilter {//过滤器实现类   点出抽象方法

    @Override

    public boolean accept(File pathname) { //pathname 每一个 文件名

    if(pathname.isDirectory()){return true;} //文件夹直接放行

    return pathname.getName().toLowerCase().endsWith(".java");

    } //文件名  转小写   是否以.java结尾   true/false

    }

    //自定义类继承FilenameFilter过滤器接口

    class MyFilter implements FilenameFilter{

    public boolean accept(File dir, String name) {

    return name.endsWith(".java");

    }

    }

    File parent = new File("b");

    File f3 = new File(parent,"c.txt");

    if(!parent.exists()) {parent.mkdirs();}

    System.out.println(f3.createNewFile());

    public static void getFile(File file) {//获取多级目录下符合条件的文件

    if(file.isDirectory()) {

    File[] files = file.listFiles();

    for (File f : files) {

    if(f.isFile()) {//判断是否是文件对象

    if(f.getName().endsWith(".java")){

    System.out.println(f.getName());

    }

    }else if(f.isDirectory()){//是一个目录对象

     

    getFile(f);

    System.out.println(f.getName());

    }

    }

    }

    }

    public static void deleteFile(File file) {//删除指定目录下所有文件和目录

    if(file.isDirectory()) {

    File[] files = file.listFiles();

    for (File f : files) {

    if(f.isFile()) {System.out.println(f.getName()); f.delete();}

    else if(f.isDirectory()) {deleteFile(f);}

    }

    System.out.println(file.getName()); file.delete();//干掉自己

    }

    }

    IO异常处理

    public class Demo01 {

    public static void main(String[] args) {

    FileOutputStream fos=null;

    try {

    fos2 = new FileOutputStream("F:\java\a.txt");

    fos2.write("你好,小猪佩奇".getBytes());

    //System.out.println(2 / 0);

    } catch (IOException e) {

    e.printStackTrace();

    throw new RuntimeException("文件写入失败,重试");

    }finally{

    try {

    if(fos2!=null){

    fos2.close();

    }

    } catch (IOException e) {

    e.printStackTrace();

    throw new RuntimeException();

    }

    }

    method02();

    }

  • 相关阅读:
    低级错误之Hbm中类型不一致错误
    低级错误之Oracle客户端添加数据
    低级错误之页面中action的请求地址与action中写的requsetmapping不一致
    低级错误之删除存在关联的表报错
    低级错误之方法自调陷入死循环
    Notepad++的一些常用的快捷键
    [css]inline-block
    框架开发之Java注解的妙用
    面试必备【含答案】Java面试题系列(二
    Kotlin:数组、字符串模板
  • 原文地址:https://www.cnblogs.com/javscr/p/10247911.html
Copyright © 2020-2023  润新知