java IO-1 File 2019-07-24

IO 中經常使用的類和接口 :java

  1. java.io.File io中惟一一個表明文件的類;
  2. IntputStream    字節輸入流,抽象類;
  3. OutputStream  字節輸入流,抽象類;
  4. Writer       字符輸入流,抽象類;
  5. Reader     字節輸出流,抽象類;

 

File類數組

 File類是java.io包中惟一表明磁盤自己的對象。file類提供了與平臺無關的方法來操做文件,能夠對文件進行建立、刪除、重命名、判斷是否可讀。。。等等。ide

File 的操做

  獲取對文件名相關的方法:

  • String getName():返回此File對象所表示的文件名或路徑名(若是是路徑,則返回最後一級子路徑名)
  • String getPath():返回此File對象所對應的路徑名
  • String getAbsolutePath():返回此File對象所對應的絕對路徑名
  • File getAbsoluteFile():返回此File對象的絕對路徑
  • String getParent():返回此File對象所對應目錄的父目錄名

  獲取文件相關的方法:

  • boolean exists():判斷File對象所對應的文件或目錄是否存在
  • boolean canWrite():判斷File對象所對應的文件是否可寫
  • boolean canRead():判斷File對象所對應的文件是否可讀
  • boolean canExecute():判斷File對象所對應的文件是否執行
  • boolean isDirectory():判斷File對象所對應的文件是不是目錄
  • boolean isAbsolute():判斷File對象所對應的文件或目錄是不是絕對路徑
  • boolean isFile(): 判斷File對象對應的文件是否真的爲文件

  獲取文件的常規操做信息:

  • long lastModified():返回文件的最後修改時間
  • long length():返回文件內容的長度
  • URL toURL():獲取文件路徑URL後的路徑名

  目錄操做的方法:

  • boolean mkdir():建立一個File對象所對應的目錄,若是建立成功返回true,不然返回false
  • String[] list():列出File對象的全部子文件名和路徑名,返回String數組
  • File[] listFiles():列出File對象的全部子文件和路徑,返回File數組
  • static File[] listRoots():列出系統全部根路徑

  文件操做的方法

  • boolean createNewFile():當File對象所對應的文件不存在時,建立一個File對象所指定的新文件,若是建立成功則返回true,不然返回false
  • boolean delete():刪除File對象所對應的文件或路徑
  • static File createTempFile(String prefix, String suffix, File directory):在指定的File目錄下建立一個臨時的空文件,使用給定前綴、系統生成的隨機數和給定後綴做爲文件名,若是沒有傳入File目錄對象,則默認在臨時文件目錄建立臨時文件
  • void deleteOnExit():File對象會在JVM退出時刪除所指定的文件或目錄
  • boolean renameTo(File dest):重命名此File對象所對應的文件或目錄,若是命名成功則返回true,不然返回false

 

下面是寫了一點測試的代碼並不全:測試

 1 public static void main(String[] args) {
 2         String fileName = "D:\\File";
 3         File file = new File(fileName);
 4 
 5         if (file.exists() && file.isDirectory()) // 判斷路徑指向的文件/文件夾是否存在、是否目錄
 6         {
 7             System.out.println("file是一個文件夾\n");
 8 
 9             File[] files = file.listFiles(); // 獲取目錄下的全部文件/文件夾(僅該層路徑下)
10             System.out.print("路徑下有文件:");
11             for (File f : files)
12             {
13                 System.out.print(f + "\t");
14             }
15             System.out.println();
16 
17             //獲取對文件的操做
18             System.out.println("files[0]的文件名:" + files[0].getName()); // 獲取文件名、文件夾名
19             System.out.println("files[0]的文件路徑:" + files[0].getPath()); // 獲取文件、文件夾路徑
20             System.out.println("files[0]的絕對路徑:" + files[0].getAbsolutePath()); // 獲取文件、文件夾絕對路徑
21             System.out.println("files[0]的父文件夾名:" + files[0].getParent()); // 獲取文件父目錄路徑
22 
23             //獲取文件檢測相關的方法
24             System.out.println(files[0].exists() ? "files[0]的存在" : "files[0]的不存在"); // 判斷文件、文件夾是否存在
25             System.out.println(files[0].canWrite() ? "files[0]的可寫" : "files[0]的不可寫"); // 判斷文件是否可寫
26             System.out.println(files[0].canRead() ? "files[0]的可讀" : "files[0]的不可讀"); // 判斷文件是否可讀
27             System.out.println(files[0].canExecute() ? "file[0]可執行" : "file[0]不可執行"); // 判斷文件是否可執行
28             System.out.println(files[0].isDirectory() ? "files[0]的是目錄" : "files[0]的不是目錄"); // 判斷文件、文件夾是否是目錄
29             System.out.println(files[0].isFile() ? "files[0]的是文件" : "files[0]的不是文件"); // 判斷拿文件、文件夾是否是標準文件
30             System.out.println(files[0].isAbsolute() ? "files[0]的路徑名是絕對路徑" : "files[0]的路徑名不是絕對路徑"); // 判斷路徑名是否是絕對路徑
31 
32             //獲取文件的常規操做信息
33             System.out.println("files[0]的最後修改時間:" + files[0].lastModified()); // 獲取文件、文件夾上一次修改時間
34             System.out.println("files[0]的大小:" + files[0].length() + " Bytes"); // 獲取文件的字節數,若是是一個文件夾則這個值爲0
35             System.out.println("files[0]的路徑轉換爲URI:" + files[0].toURI()); // 獲取文件路徑URI後的路徑名
36 
37 
38             /**
39              * 目錄操做的相關方法:
40              *  boolean mkdir():建立一個File對象所對應的目錄,若是建立成功返回true,不然返回false
41              *  String[] list():列出File對象的全部子文件名和路徑名,返回String數組
42              *  File[] listFiles():列出File對象的全部子文件和路徑,返回File數組
43              *  static File[] listRoots():列出系統全部根路徑
44              */
45 
46             /**
47              * 文件的操做方法:
48              *   boolean createNewFile():當File對象所對應的文件不存在時,建立一個File對象所指定的新文件,若是建立成功則返回true,不然返回false
49              *   static File createTempFile(String prefix, String suffix, File directory):在指定的File目錄下建立一個臨時的空文件,使用給定前綴、系統生成的隨機數和給定後綴做爲文件名,若是沒有傳入File目錄對象,則默認在臨時文件目錄建立臨時文件
50              *   boolean renameTo(File dest):重命名此File對象所對應的文件或目錄,若是命名成功則返回true,不然返回false
51              *   boolean delete(); 刪除執行的文件夾 文件夾
52              *   void deleteOnExit(); 當虛擬機終止的時候刪除指定的文件夾或者文件
53              */
54 
55             if (files[0].exists())
56                 files[0].delete(); // 刪除指定的文件、文件夾
57             if (files[1].exists())
58                 files[1].deleteOnExit(); // 當虛擬機終止時刪除指定的文件、文件夾
59         }
60     }
View Code
相關文章
相關標籤/搜索