zoukankan      html  css  js  c++  java
  • 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();

    }

  • 相关阅读:
    15. DML, DDL, LOGON 触发器
    5. 跟踪标记 (Trace Flag) 834, 845 对内存页行为的影响
    4. 跟踪标记 (Trace Flag) 610 对索引组织表(IOT)最小化日志
    14. 类似正则表达式的字符处理问题
    01. SELECT显示和PRINT打印超长的字符
    3. 跟踪标记 (Trace Flag) 1204, 1222 抓取死锁信息
    2. 跟踪标记 (Trace Flag) 3604, 3605 输出DBCC命令结果
    1. 跟踪标记 (Trace Flag) 1117, 1118 文件增长及空间分配方式
    0. 跟踪标记 (Trace Flag) 简介
    SpringBoot + Redis + Shiro 实现权限管理(转)
  • 原文地址:https://www.cnblogs.com/javscr/p/10247911.html
Copyright © 2011-2022 走看看