目录
(1)定义一个方法找某一个文件夹中,是否有以txt结尾的文件
File对象就表示一个路径,可以是文件的路径、也可以是文件夹的路径。
这个路径可以是存在的,也允许是不存在的。
- public File(String pathname) 根据文件路径创建文件对象
- public File(String parent,String child) 根据父路径名字符串和子路径名字符串创建文件对象
- public File(File parent,String child) 根据父路径对应文件对象和子路径名字符串创建文件
- 对象
- public boolean isDirectory() 判断此路径名表示的File是否是文件夹
- public boolean isFile() 判断此路径名表示的File是否是文件
- public boolean exists() 判断此路径名表示的File是否存在
- public long length() 返回的是文件的大小(字节数量,/1024是KB,/1024/1024是MB以此类推)
- public String getAbsolutePath() 返回文件的绝对路径
- public String getPath() 返回定义文件时使用的路径
- public String getName() 返回文件的名称,带后缀(没有后缀的文件也是存在的,叫纯文本文件)
- public long lastModified() 返回文件的最后修改时间(时间毫秒值)
- public boolean createNewFile() 创建一个新的空的文件
- public boolean mkdir() 创建单级文件夹
- public boolean mkdirs() 创建多级文件夹
- public boolean delete() 删除文件、空文件夹
-
- 它们的返回值是boolean类型的,也就是是否创建成功
如果当前路径表示的文件是不存在的,则创建成功,返回true
如果当前路径表示的文件是存在的,则创建失败,方法返回false
如果父级路径不存在,那么方法会有异常IOException
createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件(纯文本文件也是文件)
windwos当中路径是唯一的,如果当前路径已经存在则创建失败,返回false,(文件夹不可和纯文本文件重名,其他文件可以因为是有后缀的)
mkdir只能创建单级文件夹,无法创建多级文件夹(也就是无法在不存在的文件夹下再继续创建文件夹)
创建一个文件夹
如果删除的是文件则直接删除,不走回收站
如果删除的是空文件夹,则直接删除,不走回收站
如果删除的是有内容的文件夹,则删除失败
- public File[] listFiles() 获取当前路径下所有内容
-
- public static File[] listRoots() 列出可用的文件系统根
- public String[] list() 获取当前该路径下所有内容
- public String[] list(FilenameFilter filter) 利用文件名过滤器获取当前该路径下所有内容
- public File[] listFiles() 获取当前该路径下所有内容
- public File[] listFiles(FileFilter filter) 利用文件名过滤器获取当前该路径下所有内容
- public File[] listFiles(FilenameFilter filter) 利用文件名过滤器获取当前该路径下所有内容
- class Base{
- public static void main(String[] args) throws IOException {
- File s=new File("D:\\MySQL");
- File[] ss=s.listFiles();
- for(File f:ss) {
- System.out.println(f);
- }
- }
- }
- class Base{
- public static void main(String[] args) throws IOException {
- File fi=new File("D:\\html\\ty");
- File[] f=fi.listFiles();
- for(File i:f) {
- System.out.println(i);
- }
- System.out.println(findfile(fi));
- }
- public static boolean findfile(File file) {
- //递归寻找
- File[] fi=file.listFiles();
- for(File f:fi) {
- if(f.isFile()) {
-
- if(f.getName().endsWith(".txt")) {
- return true;
- }
- }
- }
- return false;
- }
- }
- class Base{
- public static void main(String[] args) throws IOException {
- File file =new File("D:\\");
- findfile(file);
- }
- public static void findfile() {
- File[] s=File.listRoots();
- for(File i:s) {
- findfile(i);
- }
- }
- public static void findfile(File file) {
- File[] fi=file.listFiles();
- if(fi!=null) {
- for(File i:fi) {
- if(i.isFile()) {
- //是文件
- if(i.getName().endsWith(".avi")) {
- System.out.println(i.getName());
- }
- }
- else {
- //是文件夹,开始递归查找
- findfile(i);
- }
- }
- }
-
- }
- }
- class Base{
- public static void main(String[] args) throws IOException {
- File file =new File("D:\\html\\ty");
- del(file);
- }
- public static void del(File file) {
- File[] fi=file.listFiles();
- for(File i:fi) {
- if(i.isFile()) {
- i.delete();
- }
- else {
- del(i);
- }
- }
- file.delete();
- }
-
- }
- class Base{
- public static void main(String[] args) throws IOException {
- File file =new File("D:\\html");
- System.out.println(len(file));
- }
- public static long len(File file) {
- long sum=0;
- File[] fi=file.listFiles();
- for(File i:fi) {
- if(i.isFile()) {
- //是文件
- sum+=i.length();
- }
- else {
- //是文件夹
- sum+=len(i);
- }
- }
- return sum;
- }
- }
- class Base{
- public static void main(String[] args){
- HashMap
map=new HashMap<>(); - File file=new File("D:\\ks");
- map=findfile(file);
- Set
> s=map.entrySet(); - for(Map.Entry
i:s) { - String key=i.getKey();
- Integer val=i.getValue();
- System.out.println("键="+key+" 值="+val);
- }
-
- }
- public static HashMap
findfile(File file){ - File[] fi=file.listFiles();
- HashMap
ma=new HashMap<>(); - for(File f:fi) {
- if(f.isFile()) {
- //是文件
- String name=f.getName();
- String[] s=name.split("\\.");
- if(s.length>=2) {
- String ss=s[s.length-1];
- if(ma.containsKey(ss)) {
- int count=ma.get(ss);
- count++;
- ma.put(ss, count);
- }
- else {
- ma.put(ss,1);
- }
- }
- }
- else {
- //是文件夹
- //开始递归查找
- Set
> sonmap=findfile(f).entrySet(); - //子文件夹中的各个文件开始一个一个查找
- for(Map.Entry
i:sonmap) { - String key=i.getKey();
- Integer val=i.getValue();
- if(ma.containsKey(key)) {
- val=val+ma.get(key);
- ma.put(key, val);
- }
- else {
- ma.put(key, val);
- }
- }
- }
- }
- return ma;
- }
- }