• IO基础内容(File)


    JavaIO基础内容

    IO技术概述

    • Output 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作

    • Input 把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作

    上面两种操作成为IO操作

    File类

    • File类是文件和目录路径名的抽象表示形式,Java中把文件或者目录(文件夹)都封装成File对象.

    • 当new一个File类的时,并不是去判断是否存在,只是创建出一个文件对象用来调用其内置方法

    • File类的构造方法

      • File(String pathname) // 项目全路径

      • File(String parent,String childen) // 父路径和子路径, 更加具有灵活性

      • File(File parent, String child) // 父路径用File类表示,这样可以调用File内的内置方法

    • File类的主要函数

      • mkdir() : 创建文件夹 如果存在这样的文件夹,就不创建了

      • mkdirs() : 创建文件夹,如果父文件夹不存在,会帮你创建出来

      • delete() : 删除文件或者文件夹

      • createNewFile() : 创建文件 如果存在这样的文件,就不创建了

      • getName() : 返回路径中表示的文件或者文件夹名

      • getAbsolutePath() : 获取绝对路径,返回String对象

      • getAbsoluteFile() : 获取绝对路径,返回File对象

      • exists() : 判断File构造方法中封装路径是否存在

      • isDirectory() : 判断File构造方法中封装的路径是不是文件夹

      • isFile() : 判断File构造方法中封装的路径是不是文件

      • String[] list() : 获取到File构造方法中封装的路径中的文件名和文件夹名

      • File[] listFiles() : 获取到,File构造方法中封装的路径中的文件和文件夹 返回的是FIle数组

      • File[] listRoots() : 列出可用的文件系统根 , windows下即盘符

    • 文件过滤 查找包含指定文件名的文件

    • 递归遍历目录的方法

      		public class FileDemo {
      			public static void main(String[] args) {
      				File dir = new File("d:\eclipse");
      				getAllDir(dir);
      			}
      			/*
      			 *  定义方法,实现目录的全遍历
      			 */
      			public static void getAllDir(File dir){
      				System.out.println(dir);
      				//调用方法listFiles()对目录,dir进行遍历
      				File[] fileArr = dir.listFiles();
      				for(File f : fileArr){
      					//判断变量f表示的路径是不是文件夹
      					if(f.isDirectory()){
      						//是一个目录,就要去遍历这个目录
      						//本方法,getAllDir,就是给个目录去遍历
      						//继续调用getAllDir,传递他目录
      						getAllDir(f);
      					}else{
      						System.out.println(f);
      					}
      				}
      			}
      		}
      
    • 文件过滤器

    过滤一个目录下的指定扩展名的文件,或者包含某些关键字的文件夹

    • public String[] list(FilenameFilter filter)

    • public File[] listFiles(FileFilter filter)

    实现过滤的时候需要自行编写过滤类并且实现 FilenameFilter / FIleFilter

    			public class MyFilter implements FileFilter{
    				public boolean accept(File pathname)  {
    					/*
    					 * pathname 接受到的也是文件的全路径
    					 * c:\demo\1.txt
    					 * 对路径进行判断,如果是java文件,返回true,不是java文件,返回false
    					 * 文件的后缀结尾是.java
    					 */
    					//String name = pathname.getName();
    					return pathname.getName().endsWith(".java");
    					
    				}
    			}
        
    
    • 使用 File[] fileArr = file.listFiles(new MyFilter());
  • 相关阅读:
    android的一些类库的优缺点
    中文后乱码问题的解决方法(可能解决)
    android data recovery and nc
    最短路径——Floyd,Dijkstra(王道)
    还是畅通工程——最小生成树(王道)
    More is better——并查集求最大集合(王道)
    畅通工程——并查集(王道)
    IDEA默认VIM模式
    命令行杀死进程
    进制转换——高精度整数(王道)
  • 原文地址:https://www.cnblogs.com/liyuhui-Z/p/7701963.html
Copyright © 2020-2023  润新知