java中File類的使用方法
(轉載houfeng30920)http://blog.csdn.net/houfeng30920/article/details/5149685
建構函式
- public class FileDemo {
- public static void main(String[] args){
- //建構函式File(String pathname)
- File f1 =new File("c:\\abc\\1.txt");
-
//File(String parent,String child)
- File f2 =new File("c:\\abc","2.txt");
- //File(File parent,String child)
- File f3 =new File("c:"+File.separator+"abc");//separator 跨平臺分隔符
- File f4 =new File(f3,"3.txt");
- System.out.println(f1);//c:\abc\1.txt
- }
- }
建立方法
1.boolean createNewFile() 不存在返回true 存在返回false
2.boolean mkdir() 建立目錄
3.boolean mkdirs() 建立多級目錄
刪除方法
1.boolean delete()
2.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) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
判斷方法
1.boolean canExecute()判斷檔案是否可執行
2.boolean canRead()判斷檔案是否可讀
3.boolean canWrite() 判斷檔案是否可寫
4.boolean exists() 判斷檔案是否存在
5.boolean isDirectory()
6.boolean isFile()
7.boolean isHidden()
8.boolean isAbsolute()判斷是否是絕對路徑 檔案不存在也能判斷
獲取方法
1.String getName()
2.String getPath()
3.String getAbsolutePath()
4.String getParent()//如果沒有父目錄返回null
5.long lastModified()//獲取最後一次修改的時間
6.long length()
7.boolean renameTo(File f)
8.File[] liseRoots()//獲取機器碟符
9.String[] list()
10.String[] list(FilenameFilter filter)
列出磁碟下的檔案和資料夾
- public class FileDemo3 {
- 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);
- }
- }
- }
- }
- }
檔案過濾
[html] view plain copy print?
- import java.io.File;
- import java.io.FilenameFilter;
- public class FileDemo4 {
- 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(){
- //file 過濾目錄 name 檔名
- public boolean accept(File file,String filename){
- return filename.endsWith(".mp3");
- }
- });
- for(String filename:filenames){
- System.out.println(filename);
- }
- }
- }
- }
- }
File[] listFiles()
File[] listFiles(FilenameFilter filter)
利用遞迴列出全部檔案
- public class FileDemo5 {
- public static void main(String[] args){
- File f =new File("e:\\音樂");
- 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);
- }
- }
- }
移動檔案
找出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"));
- }
- }
- }
- }