国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

從File類開始IO系統介紹

2019-11-18 14:53:10
字體:
來源:轉載
供稿:網友

    無論學習那種語言都難免要接觸到文件系統,要經常和文件打交道。java當然也不例外,有些網友覺得IO的設計很煩瑣,有的時候我也有這樣的感覺,其實用的熟練了,倒是覺得這個東西還是挺方便的。在介紹Java IO之前首先介紹一下非常重要的一個類File。

    在看到這個類的名字后你一定認為它代表一個文件,事實上這樣認為并不準確,因為Java中的File類可以代表文件也可以代表目錄。在API doc中說明了這一點,同時把File用abstract pathname來代表。不過想想目錄不也就是非凡的文件嗎?

    File的使用非常的簡單,它有四個構造函數:
File(String parent,String child)
File(File parent,String child)
File(URI uri)
File(String pathname)
其中前面兩個可以讓我們在某個已知特定的目錄下新建文件或者目錄,后面兩個我們可以通過pathname或者URI新建文件或者目錄。有一點需要注重,File雖然是一個系統無關的代表,但是pathname的表示是和系統相關的,比如UNIX下"/"表示root目錄,而windows下通常用盤符來表示。比如絕對路徑C:/helloworld/mingjava,假如是相對路徑的話則不以"/"開頭,一般相對路徑是相對當前目錄的。當我們創建一個File的時候可以通過exists()方法判定它是否存在,假如不存在我們可以選擇是創建為文件還是創建為目錄。例如
 File file = new File("hehe");
  if(!file.exists())
  {
   file.mkdir(); 
  } 
 for(int i=0;i <5;i++)
   {
    File listFile = new File(nextFile,"ming"+i+".txt");
    if(!listFile.exists())
    {
     listFile.createNewFile(); 
    }
   
   }
假如我們已經知道一個File對象,希望在他的目錄之下新建文件,那么就可以使用第一個構造器了。比如
File nextFile = new File(file,"ming//hehe");
  if(!nextFile.exists())
  {
   nextFile.mkdirs(); 
  }
注重創建多層目錄的時候要用mkdirs()。我們還可以列舉出一個目錄下的文件列表,通過list()方法可以得到一個String[]類型的數組,這就是目錄下的文件名稱。
 String[] list = nextFile.list();
   for(int j = 0;j<list.length;j++)
   {
    System.out.PRintln(list[j]); 
   }
File的使用并不復雜,假如有問題多參考一下API doc一般就可以解決了,下面是我寫的一個小例子,說明如何使用File文件。
import java.io.*;
import java.net.*;

public class TestFile
{
 public static void main(String[] args) throws IOException
 {
  File file = new File("hehe");
  if(!file.exists())
  {
   file.mkdir(); 
  } 
  File nextFile = new File(file,"ming//hehe");
  if(!nextFile.exists())
  {
   nextFile.mkdirs(); 
  }
  System.out.println(nextFile.getParent());
  
  if(nextFile.isDirectory())
  {
   File newFile = new File(nextFile,"ming.txt");
   if(!newFile.exists())
   {
    newFile.createNewFile();
    System.out.println(newFile.getName());
    System.out.println(newFile.getAbsoluteFile());
    
   }
   for(int i=0;i <5;i++)
   {
    File listFile = new File(nextFile,"ming"+i+".txt");
    if(!listFile.exists())
    {
     listFile.createNewFile(); 
    }
   
   }
   String[] list = nextFile.list();
   for(int j = 0;j<list.length;j++)
   {
    System.out.println(list[j]); 
   }  
  }
  
  
 } 
}
輸出結果為:
hehe/ming
ming.txt
ming0.txt
ming1.txt
ming2.txt
ming3.txt
ming4.txt
Press any key to continue...



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宣恩县| 盈江县| 广饶县| 庆安县| 阳新县| 云梦县| 大渡口区| 石城县| 龙海市| 洛浦县| 泾川县| 巨鹿县| 醴陵市| 日照市| 延安市| 太保市| 洛南县| 淅川县| 铅山县| 保山市| 平舆县| 桐庐县| 泾川县| 金秀| 嘉兴市| 永丰县| 普兰县| 黎城县| 凌源市| 阿拉善盟| 阳谷县| 蒲江县| 和政县| 航空| 永川市| 沙田区| 会宁县| 颍上县| 贵阳市| 萨迦县| 辽宁省|