【Java菜鸟 04】Java中的File类详解
2016-08-23 22:12
561 查看
Java.io.File类主要是完成了文件夹管理的命名、查询文件属性和处理目录等操作,它不进行文件夹内容的读取操作。
1、构造函数:
File file = new File(inputPath); //inputPath为创建的file对象的路径信息
2、创建、删除方法:
boolean createNewFile():不存在返回true 存在返回false
boolean mkdir():创建目录
boolean mkdirs():创建多级目录
boolean delete():直接删除文件
boolean deleteOnExit():文件使用完成后删除
3、判断方法:
boolean canExecute()判断文件是否可执行
boolean canRead()判断文件是否可读
boolean canWrite() 判断文件是否可写
boolean exists() 判断文件是否存在
boolean isDirectory() 判断文件是否是目录
boolean isFile() 判断是否是文件
boolean isHidden() 判断文件是否隐藏
boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断
4、获取方法:
String getName() 获取文件名
String getPath() 获取文件路径
String getAbsolutePath() 获取文件绝对路径
String getParent() 如果没有父目录返回null
long lastModified() 获取最后一次修改的时间
long length() 获取文件长度
boolean renameTo(File f) 重命名
File[] liseRoots() 获取机器盘符
String[] list()
String[] list(FilenameFilter filter)
5、列出磁盘下的文件和文件夹:
Output:
6、文件过滤:
Output:
7、利用递归列出全部文件:
8、移动文件:
找出d盘下所有的 .java 文件,拷贝至 c:\jad 目录下,并将所有文件的类型由.java 修改为.jad
1、构造函数:
File file = new File(inputPath); //inputPath为创建的file对象的路径信息
public class FileDemo { public static void main(String[] args){ //构造函数File(String pathname) File file1 =new File("c:\\abc\\1.txt"); //File(String parent,String child) File file2 =new File("c:\\abc","2.txt"); //File(File parent,String child) File file3 =new File("c:"+File.separator+"abc");//separator 跨平台分隔符 File file4 =new File(f3,"3.txt"); System.out.println(f1);//c:\abc\1.txt } }
2、创建、删除方法:
boolean createNewFile():不存在返回true 存在返回false
boolean mkdir():创建目录
boolean mkdirs():创建多级目录
boolean delete():直接删除文件
boolean deleteOnExit():文件使用完成后删除
import java.io.File; import java.io.IOException; public class FileDemo2 { public static void main(String[] args){ File f =new File("d:\\1.txt"); try { System.out.println(f.createNewFile());//当文件存在时返回false System.out.println(f.delete());//当文件不存在时返回false } catch (IOException e) { e.printStackTrace(); } } }
3、判断方法:
boolean canExecute()判断文件是否可执行
boolean canRead()判断文件是否可读
boolean canWrite() 判断文件是否可写
boolean exists() 判断文件是否存在
boolean isDirectory() 判断文件是否是目录
boolean isFile() 判断是否是文件
boolean isHidden() 判断文件是否隐藏
boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断
4、获取方法:
String getName() 获取文件名
String getPath() 获取文件路径
String getAbsolutePath() 获取文件绝对路径
String getParent() 如果没有父目录返回null
long lastModified() 获取最后一次修改的时间
long length() 获取文件长度
boolean renameTo(File f) 重命名
File[] liseRoots() 获取机器盘符
String[] list()
String[] list(FilenameFilter filter)
5、列出磁盘下的文件和文件夹:
package org.algorithm; import java.io.File; public class getFileList { public static void main(String[] args) { File[] files = File.listRoots();//获取盘符列表 for(File file: files ){ System.out.println(file); if(file.length()>0){//获取文件目录 String[] filenames = file.list(); for(String filename:filenames){ System.out.println(filename); } } } } }
Output:
C:\ $360Section $Recycle.Bin 292.txt 360SANDBOX AMD Boot bootmgr BOOTNXT Crawler data Documents and Settings DRMsoft EFI hcluster-0.2.0-cp27-none-win_amd64.whl hiberfil.sys hsrv.txt inetpub iNodeLog Intel listpconline.txt LoalaSave Malizhen_s.dll MinGW n382738784.html n465189805.shtml OneDriveTemp pconlinemobile.html pconlinemobile.txt PerfLogs phantomjs-2.1.1-windows Program Files Program Files (x86) ProgramData Python27 Recovery scipy-0.18.0 scipy-0.18.0-cp27-cp27m-win_amd64 scipy-0.18.0-cp27-cp27m-win_amd64.whl scipy-0.18.0-cp35-cp35m-win_amd64.whl scipy-0.18.0.tar.gz swapfile.sys System Volume Information tmp Users Windows xampp E:\ $RECYCLE.BIN 1.txt 1.xml 22.txt 22.xml 23.txt 23.xml 24.xml 25.txt 25.xml 26.txt 26.xml 27.xml 28.xml 30.txt 30.xml 360Downloads 360WiFi 5a43d7c5970c8a76fddcee AI_RecycleBin all.txt all.xml BaiduYunDownload bbtToolBackUp BeautifulOfProgramming C++ coursera CPU data.xml defrag.dat down.txt down.xml Eclipse Eclipse workspace edu.txt edu.xml faf40a81bee93e8300a53a84c0d97bd0 FileZilla_Server_v0.9.53.0_setup.1435823314.exe index index.txt input.txt Java jdk-7u80-windows-x64.exe kankan KuGou KwDownload log.log log1.log LuceneData LuceneIndex MyDownloads mysql Navicat for MySQL output.xml pagefile.sys parserone Python q.txt q.xml qq.txt qq.xml Repositories shnu.txt shnu.xml sina.txt sina.xml Soft SQL System Volume Information test.txt test.xml TortoiseSVN TortoiseSVNwc txt_doc urllist.txt VM OS WebCrawlerPython WeChatCrawler windows2008_setup windows2008_setup.zip windows2012 xyz.txt xyz.xml YunFTP site yygamestore F:\ $RECYCLE.BIN AI_RecycleBin BaiduYunDownload C++ config.ini Config.Msi Date Struct defrag.dat E-Learning Samples eclipse-SDK-4.2.1-win32-x86_64 FileRecv InstallConfig.ini Introduce to Algrithms IT168 kugou log_network.txt MachineLearning matlabr2015a_64crack_downcc.zip MSOCache mysql-5.6.24-win32.1432006610.zip Program Files Program Files (x86) root Solr System Volume Information UltraEdit-64 webcollector-2.12-bin WebCollector-master G:\ $RECYCLE.BIN ACM AI_RecycleBin BaiduYunDownload Computer Science Books Computer Science Papper E English Steps Books eula.1028.txt eula.1031.txt eula.1033.txt eula.1036.txt eula.1040.txt eula.1041.txt eula.1042.txt eula.2052.txt eula.3082.txt globdata.ini IEEE install.exe install.ini install.res.1028.dll install.res.1031.dll install.res.1033.dll install.res.1036.dll install.res.1040.dll install.res.1041.dll install.res.1042.dll install.res.2052.dll install.res.3082.dll Java kankan linux share linux1 OS linux2 OS linux3 OS MachineLearning matlabr2015a_64crack_downcc MyDrivers plan programmer Python root soft System Volume Information task Tunder Download vcredist.bmp VC_RED.cab VC_RED.MSI H:\
6、文件过滤:
package org.algorithm; import java.io.File; import java.io.FilenameFilter; public class getFileListFilter { //文件过滤 public static void main(String[] args) { File[] files = File.listRoots();//获取盘符列表 for(File file: files ){ System.out.println(file); if(file.length()>0){ String[] filenames = file.list(new FilenameFilter(){ public boolean accept(File file,String filename){//file过滤目录,filename为文件名 return filename.endsWith(".txt"); } }); for(String filename:filenames){ System.out.println(filename); } } } } }
Output:
C:\ 292.txt hsrv.txt listpconline.txt pconlinemobile.txt E:\ 1.txt 22.txt 23.txt 25.txt 26.txt 30.txt all.txt down.txt edu.txt index.txt input.txt q.txt qq.txt shnu.txt sina.txt test.txt urllist.txt xyz.txt F:\ log_network.txt G:\ eula.1028.txt eula.1031.txt eula.1033.txt eula.1036.txt eula.1040.txt eula.1041.txt eula.1042.txt eula.2052.txt eula.3082.txt H:\
7、利用递归列出全部文件:
public class FileDemo5 { public static void main(String[] args){ File f =new File("e:\\music"); showDir(f); } public static void showDir(File dir){ System.out.println(dir); File[] files =dir.listFiles(); for(File file:files){ if(file.isDirectory()) showDir(file); else System.out.println(file); } } }
8、移动文件:
找出d盘下所有的 .java 文件,拷贝至 c:\jad 目录下,并将所有文件的类型由.java 修改为.jad
public class Test5 { public static void main(String[] args){ File f1 = new File("d:\\"); moveFile(f1); } public static void moveFile(File dir){ File[] files=dir.listFiles(); for(File file:files){ if(file.isDirectory()) moveFile(file); else{ if(file.getName().endsWith(".java")) file.renameTo(new File("c:\\jad\\"+ file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad")); } } } }
相关文章推荐
- Java中File类详解
- Java程序员从笨鸟到菜鸟之(十)枚举,泛型详解
- Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解
- Java程序员从笨鸟到菜鸟之(五十三)细谈Hibernate(四)Hibernate常用配置文件详解
- Java程序员从笨鸟到菜鸟之(五十三)细谈Hibernate(四)Hibernate常用配置文件详解
- 菜鸟课堂:详解Java多线程开发中的数据同步
- Java程序员从笨鸟到菜鸟之(六十四)细谈Hibernate(十五)HQL与QBC查询方式详解
- Java程序员从笨鸟到菜鸟之(四十八)细谈struts2(十)ognl概念和原理详解
- .Java程序员从笨鸟到菜鸟之(四十七)细谈struts2(九)内置拦截器和自定义拦截器详解(附源码)
- Java程序员从笨鸟到菜鸟之(六十三)细谈Hibernate(十四)Hibernate三种检索方式详解
- Java程序员从笨鸟到菜鸟之(十)枚举,泛型详解
- Java程序员从笨鸟到菜鸟之(二十四)Xml基础详解和DTD验证
- Java程序员从笨鸟到菜鸟之(二十一)java过滤器和监听器详解
- Java程序员从笨鸟到菜鸟之(四十八)细谈struts2(十)ognl概念和原理详解
- Java程序员从笨鸟到菜鸟之(四十四)细谈struts2(七)数据类型转换详解
- Java程序员从笨鸟到菜鸟之(十)枚举,泛型详解
- Java程序员从笨鸟到菜鸟之(二十一)java过滤器和监听器详解
- Java程序员从笨鸟到菜鸟之(二十一)java过滤器和监听器详解
- Java程序员从笨鸟到菜鸟之(五十二)细谈Hibernate(三)Hibernate常用API详解及源码分析
- Java程序员从笨鸟到菜鸟之(六十四)细谈Hibernate(十五)HQL与QBC查询方式详解