<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    (轉(zhuǎn))從File類開(kāi)始java IO 系統(tǒng)介紹

     無(wú)論學(xué)習(xí)那種語(yǔ)言都難免要接觸到文件系統(tǒng),要經(jīng)常和文件打交道。Java當(dāng)然也不例外,有些網(wǎng)友覺(jué)得IO的設(shè)計(jì)很煩瑣,有的時(shí)候我也有這樣的感覺(jué),其實(shí)用的熟練了,倒是覺(jué)得這個(gè)東西還是挺方便的。在介紹Java IO之前首先介紹一下非常重要的一個(gè)類File。

                  在看到這個(gè)類的名字后你一定認(rèn)為它代表一個(gè)文件,事實(shí)上這樣認(rèn)為并不準(zhǔn)確,因?yàn)镴ava中的File類可以代表文件也可以代表目錄。在API doc中說(shuō)明了這一點(diǎn),同時(shí)把File用abstract pathname來(lái)代表。不過(guò)想想目錄不也就是特殊的文件嗎?

            無(wú)論學(xué)習(xí)那種語(yǔ)言都難免要接觸到文件系統(tǒng),要經(jīng)常和文件打交道。Java當(dāng)然也不例外,有些網(wǎng)友覺(jué)得IO的設(shè)計(jì)很煩瑣,有的時(shí)候我也有這樣的感覺(jué),其實(shí)用的熟練了,倒是覺(jué)得這個(gè)東西還是挺方便的。在介紹Java IO之前首先介紹一下非常重要的一個(gè)類File。

                  在看到這個(gè)類的名字后你一定認(rèn)為它代表一個(gè)文件,事實(shí)上這樣認(rèn)為并不準(zhǔn)確,因?yàn)镴ava中的File類可以代表文件也可以代表目錄。在API doc中說(shuō)明了這一點(diǎn),同時(shí)把File用abstract pathname來(lái)代表。不過(guò)想想目錄不也就是特殊的文件嗎?

        File的使用非常的簡(jiǎn)單,它有四個(gè)構(gòu)造函數(shù):
    File(String parent,String child)
    File(File parent,String child)
    File(URI uri)
    File(String pathname)
    其中前面兩個(gè)可以讓我們?cè)谀硞€(gè)已知特定的目錄下新建文件或者目錄,后面兩個(gè)我們可以通過(guò)pathname或者URI新建文件或者目錄。有一點(diǎn)需要注意,F(xiàn)ile雖然是一個(gè)系統(tǒng)無(wú)關(guān)的代表,但是pathname的表示是和系統(tǒng)相關(guān)的,比如UNIX下"/"表示root目錄,而windows下通常用盤符來(lái)表示。比如絕對(duì)路徑C:\helloworld\mingjava,如果是相對(duì)路徑的話則不以"/"開(kāi)頭,一般相對(duì)路徑是相對(duì)當(dāng)前目錄的。當(dāng)我們創(chuàng)建一個(gè)File的時(shí)候可以通過(guò)exists()方法判斷它是否存在,如果不存在我們可以選擇是創(chuàng)建為文件還是創(chuàng)建為目錄。例如
     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(); 
        }
       
       }
    如果我們已經(jīng)知道一個(gè)File對(duì)象,希望在他的目錄之下新建文件,那么就可以使用第一個(gè)構(gòu)造器了。比如
    File nextFile = new File(file,"ming\hehe");
      if(!nextFile.exists())
      {
       nextFile.mkdirs(); 
      }
    注意創(chuàng)建多層目錄的時(shí)候要用mkdirs()。我們還可以列舉出一個(gè)目錄下的文件列表,通過(guò)list()方法可以得到一個(gè)String[]類型的數(shù)組,這就是目錄下的文件名稱。
     String[] list = nextFile.list();
       for(int j = 0;j<list.length;j++)
       {
        System.out.println(list[j]); 
       }
    File的使用并不復(fù)雜,如果有問(wèn)題多參考一下API doc一般就可以解決了,下面是我寫的一個(gè)小例子,說(shuō)明如何使用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]); 
       }  
      }
      
      
     } 
    }
    輸出結(jié)果為:
    hehe\ming
    ming.txt
    ming0.txt
    ming1.txt
    ming2.txt
    ming3.txt
    ming4.txt
    Press any key to continue...

     

    For Example

    import java.io.*;
    public class TestFile
    {
     TestFile(){}
     public static void main(String[] args)
     {
       File file = new File("F:\javawork","HEHE");
       if(!file.exists())
      {
        file.mkdir();
      }
       File nextfile = new File(file,"ming\hehe");
       if(!nextfile.exists())
      {
       nextfile.mkdirs();
       }
       System.out.println("...........getParent"+nextfile.getParent());
       for(int i =0;i < 5;i++ )
      {
        File listFile = new File(nextfile,"ming"+i+".txt");
       try{
       if(!listFile.exists())
       {
        listFile.createNewFile();
       }}catch(IOException e)
      }
     }

    };

    posted on 2010-03-30 01:03 輕帆向南 閱讀(563) 評(píng)論(0)  編輯  收藏 所屬分類: java

    導(dǎo)航

    留言簿

    隨筆分類(13)

    隨筆檔案(13)

    文章分類

    最新評(píng)論

    主站蜘蛛池模板: 一级毛片在线观看免费| 一区视频免费观看| 91精品国产免费久久国语蜜臀| 亚洲精品人成无码中文毛片| 美女黄频视频大全免费的| 在线观看国产情趣免费视频| 日韩欧美亚洲中文乱码| 日本免费人成黄页网观看视频| 亚洲日韩AV一区二区三区四区| 日本最新免费不卡二区在线| 黄网站在线播放视频免费观看| www.亚洲精品.com| 一级毛片成人免费看a| 亚洲日韩国产精品第一页一区| 一区二区三区无码视频免费福利| 亚洲阿v天堂在线| 毛片免费全部播放无码| 亚洲精品二三区伊人久久| 午夜私人影院免费体验区| 老司机午夜在线视频免费| 国产亚洲精品看片在线观看| 日韩视频免费在线观看| 亚洲成人在线免费观看| 成人性生交视频免费观看| 特级毛片全部免费播放a一级| 国产亚洲成人在线播放va| 最近的中文字幕大全免费8| 亚洲精品伊人久久久久| 亚洲成a人一区二区三区| 你是我的城池营垒免费看| 亚洲一区二区三区首页| 日韩成人免费aa在线看| 久久久久久久久久久免费精品| 精品亚洲麻豆1区2区3区| 国产日产成人免费视频在线观看| 中文字幕免费播放| 亚洲伊人久久大香线蕉在观 | 亚洲成a人片在线不卡| 午夜亚洲av永久无码精品| 久久成人a毛片免费观看网站| 亚洲中文字幕日本无线码|