【Java】IO整理之File类使用大全

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/o0DarkNessYY0o/article/details/52457215

      说到做到哈,上篇文章【Java】基于TCP协议多线程服务器-客户端交互控制台聊天室简例写到的写IO的,这回就稍微整理下吧,刚回学校不久,整理得少点儿,都整理寝室去了[笑]~

      下面列出常用的Flie类的内容,并且附上实例代码:

File类是用来处理文件夹和创建删除文件的,不能用来编辑文件!
File(String pathName):使用/斜杠或者\都行,pathName是绝对路径
boolean File.canExcute():是否可运行
boolean File.canRead():是否可读
boolean File.canWrite():是否可写
int File.compareTo(File pathName):比较两个文件,需要重载
boolean File.createNewFile():创建文件,抛出IOException普通异常
File File.createTempFile(String prefix, String suffix):创建临时文件
boolean File.delete():删除文件,如果删除的是目录,目录不为空则不能删除,删除文件夹则需递归删除所有子文件和子文件夹
void File.deleteOnExit():退出的时候删除文件
boolean File.exists():是否存在
String File.getName():获取文件名
String File.getParent():获取所在父目录全路径
File File.getParentFile():获取父目录File对象
String File.getPath():获取包括文件名在内的全路径
boolean File.isAbsolute():是否是绝对的
boolean File.isDirectory():是否是目录
boolean File.isFile():是否是文件
boolean File.isHidden():是否是隐藏的
boolean File.mkdir():创建目录
boolean File.mkdirs():创建多级目录
boolean File.renameTo():重命名文件,可以作为移动文件

String[] File.list([选填,FileNameFilter接口的类]):该目录下所有内容的名(包括文件/文件夹名)
File[] File.listFiles([选填,FileNameFilter接口类]):该目录下所有文件的File对象
Interface FileNameFilter接口:实现accept(File dir, String name)方法,用以过滤文件,返回true显示,false不显示
File[] File.listFiles([选填,FileFilter接口类]):该目录下所有文件的File对象
Interface FileFilter接口:实现accept(File pathname)方法,返回true显示,false不显示
long File.length():文件/文件夹大小

      下面是部分重要点儿的实例

// FileNameFilter接口操作栗子,过滤掉文件后缀不为.txt的文件
File f = new File("D:\\Java\\IOFileTest");
String[] nameStrings = file.list(new FilenameFilter() {
    @Override
    public boolean accept(File dir, String name) {
        if(name.endsWith(".txt")) return true;
        return false;
    }
});
for(int i = 0; i < nameStrings.length; i++){
    System.out.println(nameStrings[i]);
}

// FileFilter接口栗子,过滤掉文件夹
File f = new File("D:\\TestProjectSourceFile\\Java\\JAVA_MyEclipse\\IOFileTest");
File[] nameFiles = f.listFiles(new FileFilter() {
    @Override
    public boolean accept(File pathname) {
        if(pathname.isFile()) return true;
        return false;
    }
});
for (int i = 0; i < nameFiles.length; i++) {
    System.out.println(nameFiles[i].getName()+":"+nameFiles[i].getPath());
}

      好啦!内容结束,我们关于File类的一些常用内容就这么愉快的完成了,下一步将会写有关于IO流的一些最简便最容易入手的相关使用方法,敬请期待!

猜你喜欢

转载自blog.csdn.net/o0DarkNessYY0o/article/details/52457215