程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> JavaIO(01)File類詳解

JavaIO(01)File類詳解

編輯:JAVA編程入門知識
File類 file類中的主要方法和變量   常量: 表示路徑的分割符:(windows) 作用:根據java可移植性的特點,編寫路徑一定要符合本地操作系統要求的分割符;
public static final String separator            
public static final String pathSeparator

package cn.itcast;

import java.io.File;

public class DemoFile02 {
     public static void main(String[] args) {
          
           System.out.println( "PathSeparator分隔符:"+File.pathSeparator );
           System.out.println( "Separator分隔符:"+File.separator );
     }
}

輸出:

PathSeparator:;
Separator:

  

構造: 創建file類對象,傳入完成路徑 public File(String pathname) public File(String parent,String child)
package cn.itcast;
import java.io.File;
public class DemoFile03 {
public static void main(String[] args) {
     
     File file = new File("G:\\JavaTest\\test.txt" );
     System.out.println(file);
     File file2 = new File("G:\\JavaTest" , "test.txt" );
     System.out.println(file2);
}
}

輸出:
G:\JavaTest\test.txt
G:\JavaTest\test.txt

考慮到程序會跨平台操作對上面程序進行修改;

String path = "G:" + File. separator +"JavaTest"+File.separator + "test01.txt" ;
System.out.println(path);
File file = new File(path);

  

普通方法:   創建新文件; public boolean createNewFile() throws IOException 刪除文件: public boolean delete() 判斷文件是否存在 public boolean exists() 判斷給定的路徑是否是一個目錄 public boolean isDirectory() 返回文件的長度 public long length() File中封裝的什麼路徑就返回什麼路徑 public String getPath() 獲取文件名稱 public String getName() 獲取文件的全路徑(絕對路徑) public String getAbsolutePath() 是否是文件 public boolean isFile()
列出指定目錄的全部內容,只是列出了名稱,返回一個字符串數組
public String[] list()
package cn.itcast;
import java.io.File;

public class DemoFile03 {
public static void main(String [] args) {
     
     //給出路徑
     File file = new File("G:"+File.separator +"JavaTest" +File.separator+"Test");
     System.out.println(file.isDirectory());
     //file.mkdir();
     String str[] = file.list();
     for ( int i = 0; i < str.length ; i++) {
          System. out.println(str[i]);
     }
     }
}
列出指定目錄的全部內容,會列出路徑
public File[] listFiles()
package cn.itcast;

import java.io.File;

public class DemoFile04 {
     public static void main(String[] args) {
          
          File file = new File("G:"+File.separator +"JavaTest" +File.separator+"Test");
          File[] files = file.listFiles();
           for (int i = 0; i < files.length; i++) {
              System. out.println(files[i]);
          }
     }
}
創建一個目錄 public boolean mkdir() 為已有的文件重新命名 public boolean renameTo(File dest)
實例01:
public class DemoFile01 {
     public static void main(String[] args){
           //如果考慮跨平台需要這樣寫
          String path = "G:" + File.separator +"JavaTest"+File.separator + "test01.txt" ;
          File file = new File(path);
           //當程序刪除文件的之前需要判斷文件是否存在
           if(file.exists())
          {
              System. out.println("我要刪文件了" );
              file.delete();
          } else{
              System. out.println("原來你沒在呀,那我先創建一個吧~" );
               try {
                   file.createNewFile();
              } catch (IOException e) {
                    // TODO: handle exception
                   e.printStackTrace();
              }
          }
          
     }
}

以上代碼也不是最完美的,會出現一些延遲,這是因為所有的操作需要通過JV完成所造成的,所以根據需求,可以考慮文件的後綴是否存在;


實例02:使用了文件的遞歸

package cn.itcast;
/*
 * 列出指定目錄的全部內容
 * 給定一個目錄。要求列出此目錄下的全部內容,因為給定目錄可能存在子文件夾,
 * 此時要求也可以把所有文件夾的子文件夾列出來;
 */
import java.io.File;
public class DemoFile05 {
     public static void main(String[] args ) {
          File my = new File("G:" + File.separator + "JavaTest");
           print(my);
     }

     public static void print(File file) {
           if (file != null) {
               if (file.isDirectory()) {
                   File f[] = file.listFiles();
                    if (f != null ) {
                         for (int i = 0; i < f.length; i++) {
                             System. out.println(f[i]);
                        }
                   }
              }
          } else {
              {
                   System. out.println(file);
              }
          }
     }
}

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved