• 类File


    * File类常用的构造方法:

    * (1)File(String s);//由s确定File对象的文件名

    * (2)File(String directory,String s);//由directory确定File对象的文件目录,由s确定文件名

    * (3)File(File parent,String s);//根据一个父File对象和一个子文件/目录得到File对象

     

    import java.io.File;
    
    /*
     * 要实现IO的操作,就必须知道硬盘上文件的表现形式
     * Java就提供了一个File类
     * 
     * File类常用的构造方法:
     * (1)File(String s);//由s确定File对象的文件名
     * (2)File(String directory,String s);//由directory确定File对象的文件目录,由s确定文件名
     * (3)File(File parent,String s);//根据一个父File对象和一个子文件/目录得到File对象
     * */
    
    public class IntegerDemo {
    	public static void main(String[] args) {
    		File file1 = new File("E:\zikao\cs.txt");// 由s确定File对象的文件名
    
    		File file2 = new File("E:\zikao", "cs.txt");// 由directory确定File对象的文件目录,由s确定文件名
    
    		File file3 = new File("E:\zikao");
    		File file4 = new File(file3, "cs.txt");// 根据一个父File对象和一个子文件/目录得到File对象
    	}
    }
    

     

    * 创建功能:
    * public boolean createNewFile();//创建文件
    * public boolean mkdir();//创建文件夹
    * public boolean mkdirs();//创建文件夹,如果父文件夹不存在,将会创建出来

    import java.io.File;
    import java.io.IOException;
    
    /*
     * 创建功能:
     * public boolean createNewFile();//创建文件
     * public boolean mkdir();//创建文件夹
     * public boolean mkdirs();//创建文件夹,如果父文件夹不存在,将会创建出来
     * */
    
    public class IntegerDemo {
    	public static void main(String[] args) throws IOException {
    		File file1 = new File("E:\zikao\file");
    		System.out.println("mkdir:" + file1.mkdir());// 创建文件夹
    
    		File file2 = new File("E:\zikao\file\file.txt");
    		System.out.println("createNewFile:" + file2.createNewFile());// 创建文件
    
    		File file3 = new File("E:\zikao\fileNo1\fileNo2\file");
    		System.out.println("createNewFile:" + file3.mkdirs());// 创建文件夹,如果父文件夹不存在,将会创建出来
    	}
    }
    

     

    * 删除功能:
    * public boolean delete();//创建文件
    *
    * 注意:
    * A:如果创建文件或者文件夹时没有写上盘符路径,那么默认在项目路径
    * B:Java的删除不走回收站
    * C:要删除一个文件夹,该文件夹不能包含其他文件或者文件夹

    import java.io.File;
    import java.io.IOException;
    
    /*
     * 删除功能:
     * public boolean delete();//创建文件
     * 
     * 注意:
     * A:如果创建文件或者文件夹时没有写上盘符路径,那么默认在项目路径
     * B:Java的删除不走回收站
     * C:要删除一个文件夹,该文件夹不能包含其他文件或者文件夹
     * */
    
    public class IntegerDemo {
    	public static void main(String[] args) throws IOException {
    		File file = new File("E:\zikao\file\file.txt");
    		System.out.println("mkdir:" + file.delete());
    	}
    }
    

     

    * 重命名功能:

    * public boolean renameTo(File dest);

    *
    * 如果路径相同,就是重命名
    * 如果路径不相同,就是重命名并剪切

    import java.io.File;
    import java.io.IOException;
    
    /*
     * 重命名功能:
     * public boolean renameTo(File dest);
    * * 如果路径相同,就是重命名 * 如果路径不相同,就是重命名并剪切 * */ public class IntegerDemo { public static void main(String[] args) throws IOException { File file = new File("E:\zikao\file\cs.txt"); File newFile = new File("file.txt"); System.out.println("renameTo:" + file.renameTo(newFile)); } }

     

    * 判断功能:

    * public boolean isDirectory();//判断是否是目录

    * public boolean isFile();//判断是否是文件

    * public boolean exists();//判断是否存在

    * public boolean canRead();//判断是否可读

    * public boolean canWrite();//判断是否可写

    * public boolean isHidden();//判断是否隐藏

    package com.jacky;
    
    import java.io.File;
    import java.io.IOException;
    
    /*
     * 判断功能:
     * public boolean isDirectory();//判断是否是目录
     * public boolean isFile();//判断是否是文件
     * public boolean exists();//判断是否存在
     * public boolean canRead();//判断是否可读
     * public boolean canWrite();//判断是否可写
     * public boolean isHidden();//判断是否隐藏
     * */
    
    public class IntegerDemo {
    	public static void main(String[] args) throws IOException {
    		File file = new File("E:\zikao\file\cs.txt");
    
    		System.out.println("isDirectory:" + file.isDirectory());// 判断是否是目录
    		System.out.println("isFile:" + file.isFile());// 判断是否是文件
    		System.out.println("exists:" + file.exists());// 判断是否存在
    		System.out.println("canRead:" + file.canRead());// 判断是否可读
    		System.out.println("canWrite:" + file.canWrite());// 判断是否可写
    		System.out.println("isHidden:" + file.isHidden());// 判断是否隐藏
    	}
    }
    

     

    * 基本获取功能:
    * public String getAbsolutePath();//获取绝对路径
    * public String getPath();//获取相对路径
    * public String getName();//获取名称
    * public long length();//获取文件大小,字节数
    * public long lastModified();//获取修改时间,毫秒值

    import java.io.File;
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /*
     * 基本获取功能:
     * public String getAbsolutePath();//获取绝对路径
     * public String getPath();//获取相对路径
     * public String getName();//获取名称
     * public long length();//获取文件大小,字节数
     * public long lastModified();//获取修改时间,毫秒值
     * */
    
    public class IntegerDemo {
    	public static void main(String[] args) throws IOException {
    		File file = new File("E:\zikao\file");
    
    		System.out.println("getAbsolutePath:" + file.getAbsolutePath());// 获取绝对路径
    		System.out.println("getPath:" + file.getPath());// 获取相对路径
    		System.out.println("getName:" + file.getName());// 获取名称
    		System.out.println("length:" + file.length());// 获取文件大小,字节数
    		System.out.println("lastModified:" + file.lastModified());// 获取修改时间,毫秒值
    
    		Date d = new Date(file.lastModified());
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		String s = sdf.format(d);
    		System.out.println(s);
    	}
    }
    

    * 高级获取功能:
    * public String[] list();//获取指定目录下的所有文件或者文件夹的名称数组
    * public File[] listFiles();//获取指定目录下的所有文件或者文件夹的File数组

    import java.io.File;
    import java.io.IOException;
    
    /*
     * 高级获取功能:
     * public String[] list();//获取指定目录下的所有文件或者文件夹的名称数组
     * public File[] listFiles();//获取指定目录下的所有文件或者文件夹的File数组
     * */
    
    public class IntegerDemo {
    	public static void main(String[] args) throws IOException {
    		File file = new File("E:\zikao");
    
    		String strArray[] = file.list();// 获取指定目录下的所有文件或者文件夹的名称数组
    		for (String s : strArray) {
    			System.out.println(s);
    		}
    
    		System.out.println("----------");
    
    		File fileArray[] = file.listFiles();// 获取指定目录下的所有文件或者文件夹的File数组
    		for (File f : fileArray) {
    			System.out.println(f);
    		}
    	}
    }
    

     

    第1种方法:

    /*
    * 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
    *
    * 分析:
    * A:封装E判断目录
    *
    * B:获取该目录下所有文件或者文件夹的File数组
    *
    * C:遍历该File数组,得到每一个File对象,然后判断
    *
    * D:是否是文件
    * 是:继续判断是否以.jpg结尾
    * 是:就输出该文件名称
    * 否:跳过
    * 否:跳过
    * */

    import java.io.File;
    import java.io.IOException;
    
    /*
     * 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
     * 
     * 分析:
     * A:封装E判断目录
     * 
     * B:获取该目录下所有文件或者文件夹的File数组
     * 
     * C:遍历该File数组,得到每一个File对象,然后判断
     * 
     * D:是否是文件
     * 是:继续判断是否以.jpg结尾
     *   是:就输出该文件名称
     *   否:跳过
     * 否:跳过
     * */
    
    public class IntegerDemo {
    	public static void main(String[] args) throws IOException {
    		// A:封装E判断目录
    		File file = new File("E:\");
    
    		// B:获取该目录下所有文件或者文件夹的File数组
    		File fileArray[] = file.listFiles();// 获取指定目录下的所有文件或者文件夹的File数组
    
    		// C:遍历该File数组,得到每一个File对象,然后判断
    		for (File f : fileArray) {
    			if ((f.isFile()) && (f.getName().endsWith(".jpg"))) {
    				System.out.println(f.getName());
    			} else {
    				continue;
    			}
    		}
    	}
    }
    

    第2种方法:

    /*
    * 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
    *
    * 获取符合条件的文件,并输出
    *
    * 要想实现这个效果,就必须使用一个接口:文件名称过滤器
    * public String[] list(FilenameFilter filter);
    * public File[] listFiles(FilenameFilter filter);
    * */

    import java.io.File;
    import java.io.FilenameFilter;
    
    /*
     * 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
     * 
     * 获取符合条件的文件,并输出
     * 
     * 要想实现这个效果,就必须使用一个接口:文件名称过滤器
     * public String[] list(FilenameFilter filter);
     * public File[] listFiles(FilenameFilter filter);
     * */
    
    public class IntegerDemo {
    	public static void main(String[] args) {
    		File file = new File("E:\");
    
    		String strArray[] = file.list(new FilenameFilter() {
    			@Override
    			public boolean accept(File dir, String name) {
    				// TODO Auto-generated method stub
    				File file = new File(dir, name);
    				boolean flag = file.isFile() && name.endsWith(".jpg");
    				return flag;
    			}
    		});
    
    		for (String s : strArray) {
    			System.out.println(s);
    		}
    	}
    }
    

    * 要求:把E:\目录下所有的.jpg结尾的文件的绝对路径输出
    *
    * 分析:
    * A:封装目录
    * B:获取该目录下所有的文件或者文件夹的File数组
    * C:遍历该File数组,得到每一个File对象
    * D:判断该File对象是否是文件夹
    * 是:回到B
    * 否:继续判断是否是以结尾
    * 是:就输出该文件的绝对路径
    * 否:跳过

    import java.io.File;
    
    /*
     * 要求:把E:\目录下所有的.jpg结尾的文件的绝对路径输出
     * 
     * 分析:
     * A:封装目录
     * B:获取该目录下所有的文件或者文件夹的File数组
     * C:遍历该File数组,得到每一个File对象
     * D:判断该File对象是否是文件夹
     * 是:回到B
     * 否:继续判断是否是以结尾
     *    是:就输出该文件的绝对路径
     *    否:跳过
     * */
    
    public class IntegerDemo {
    	public static void main(String[] args) {
    		File srcFolder = new File("E:\zikao");
    
    		getAllJpgFilePaths(srcFolder);
    	}
    
    	public static void getAllJpgFilePaths(File srcFolder) {
    		File fileArray[] = srcFolder.listFiles();
    
    		for (File file : fileArray) {
    			if (file.isDirectory()) {
    				getAllJpgFilePaths(file);
    			} else {
    				if (file.getName().endsWith(".jpg")) {
    					System.out.println(file.getAbsolutePath());
    				}
    			}
    		}
    	}
    }
    

    /*
    * 要求:递归删除带内容的目录
    *
    * 分析:
    * A:封装目录
    * B:获取该目录下所有的文件或者文件夹的File数组
    * C:遍历该File数组,得到每一个File对象
    * D:判断该File对象是否是文件夹
    * 是:回到B
    * 否:删除
    * */

    import java.io.File;
    
    /*
     * 要求:递归删除带内容的目录
     * 
     * 分析:
     * A:封装目录
     * B:获取该目录下所有的文件或者文件夹的File数组
     * C:遍历该File数组,得到每一个File对象
     * D:判断该File对象是否是文件夹
     * 是:回到B
     * 否:删除
     * */
    
    public class IntegerDemo {
    	public static void main(String[] args) {
    		File srcFolder = new File("E:\zikao");
    
    		deleteFolder(srcFolder);
    	}
    
    	public static void deleteFolder(File srcFolder) {
    		File fileArray[] = srcFolder.listFiles();
    
    		for (File file : fileArray) {
    			if (file.isDirectory()) {
    				deleteFolder(file);
    			} else {
    				System.out.println(file.getName() + "------" + file.delete());
    			}
    		}
    
    		System.out.println(srcFolder.getName() + "------" + srcFolder.delete());
    	}
    }
    

    * 计算机如何识别什么时候该把两个字节转换为一个汉字呢?
    *
    * 在计算机中中文的存储需要两个字节:
    * 第一个字节肯定是负数。
    * 第二个字节不一定。

    import java.io.IOException;
    import java.util.Arrays;
    
    /*
     * 计算机如何识别什么时候该把两个字节转换为一个汉字呢?
     * 
     * 在计算机中中文的存储需要两个字节:
     * 第一个字节肯定是负数。
     * 第二个字节不一定。
     * */
    
    public class IntegerDemo {
    	public static void main(String[] args) throws IOException {
    
    		String s = "我爱你";
    
    		byte bys[] = s.getBytes();
    
    		System.out.println(Arrays.toString(bys));// [-50, -46, -80, -82, -60, -29]
    	}
    }
    
  • 相关阅读:
    mybatis框架查询用户表中的记录数
    文件的上传和下载
    怎样在一条sql语句中将第一列和第二列加和的值作为第三列的值
    [OS] 进程的虚地址空间
    [网络] TCP/IP协议族各层的协议汇总
    [面试] C++ 虚函数表解析
    [OS] 堆栈、堆、数据段、代码段
    [算法] 并查集概念及其实现
    [OS] 我与大牛的对话!
    [C] int *p[4]与int (*q)[4]的区别
  • 原文地址:https://www.cnblogs.com/denggelin/p/6305473.html
Copyright © 2020-2023  润新知