隨筆 - 20  文章 - 57  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          51CTO

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜


          在Java中,Everything is Object!所以在文件中,要不例外!

          在Java中,可以用File類來表示一個文件!!!(注意這里的文件可以是所有文件,包括文件夾)


          下面的代碼表示一個文件:

          public class Demo {

              public static void main(String[] args){
                 
                  File f = new File("e:\\file");
                 
                  if(f.isDirectory()){
                      System.out.println(f.getPath());
                  }
              }
          }

          運(yùn)行結(jié)果是:

          代碼中isDirectory()方法是判斷文件是文件夾還是一個文件(這里可能有點(diǎn)迷糊),也可以這么理解,我所說的文件夾就是一個目錄,
          getPath()方法是打印文件(這里指的是file文件夾)的路徑!!!


          看看下面的代碼還有注釋:

          /**
           *
           *          File.speparator的作用是判斷在不同的系統(tǒng)中斜杠的方向
           *
           * 在windows中斜杠的方向是向右斜的\\
           * 在Linux  中斜杠的方向是向左斜的//
           *
           *
           *         File中createNewFile方法:
           *          當(dāng)且僅當(dāng)不存在具有此抽象路徑名指定名稱的文件時,不可分地創(chuàng)建一個新的空文件。
           *          檢查文件是否存在,若不存在則創(chuàng)建該文件,這是單個操作,對于其他所有可能影響該文件的文件系統(tǒng)活動來說,該操作是不可分的。
           *   
           *            注:此方法不應(yīng)該 用于文件鎖定,因為所得協(xié)議可能無法可靠地工作。應(yīng)該使用 FileLock 機(jī)制替代。
           *
           *
           */


          import java.io.File;


          public class Demo01 {
              public static void main(String[] args) throws Exception{
                 
                  File f;
                 
                  f = new File("e:" + File.separator + "file" + File.separator + "io.txt");
                  System.out.println(f.createNewFile());
              }

          }
          ===================================
          運(yùn)行結(jié)果是:




          大家注意,如果你的直接復(fù)制這些代碼的話,可能會出現(xiàn)以下異常


          看看大家都明白了吧! 系統(tǒng)找不到指定的文件,就是在e盤下新建一個file文件夾就可以啦!!!

          下面代碼詳細(xì)的介紹了File類中的createNewFile()方法:

          /**
          *
          *         File中createNewFile方法:
          *          當(dāng)且僅當(dāng)不存在具有此抽象路徑名指定名稱的文件時,不可分地創(chuàng)建一個新的空文件。
          *          檢查文件是否存在,若不存在則創(chuàng)建該文件,這是單個操作,對于其他所有可能影響該文件的文件系統(tǒng)活動來說,該操作是不可分的。
          *   
          *            注:此方法不應(yīng)該 用于文件鎖定,因為所得協(xié)議可能無法可靠地工作。應(yīng)該使用 FileLock 機(jī)制替代。
          *         返回:是布爾型
          *
          */

          import java.io.File;

          public class Demo02 {
              public static void main(String[] args) throws Exception{
                  File f = new File("f:\\demo.txt");
                  System.out.println(f.createNewFile());
              }

          }


          運(yùn)行結(jié)果如下:




          下面介紹一下File類中delete()方法,代碼如下:

          /**
           *
           *             要操作一個文件,必須要找到這個文件
           *             在Java中,只有File類能表示一個文件,所有用File表示一個文件
           *             File的屬性就是文件的路徑,虛擬機(jī)會根據(jù)File類的參數(shù)找到指定的文件
           *             找到問及那后可以用File類的方法進(jìn)行操作!
           *
           *             delete()方法可以刪除一個文件或者一個整個文件夾(整個目錄),返回結(jié)果是布爾類型!!
           *
           * */



          import java.io.File;

          public class Demo11 {

              public static void main(String[] args) {
                 
                  File f = new File("f:\\demo.txt");
                 
                  f.delete();
                  if(boo){
                      System.out.println("成功刪除文件");
                  }
              }
          }

          這個程序運(yùn)行的結(jié)果:



          下面的代碼是介紹查看一個文件的目錄,以及判斷這個文件是否是文件夾,代碼如下:

          /**
           *
           *         File的一個方法File.getPath()
           *                     是將此抽象路徑名轉(zhuǎn)換為一個路徑名字符串。
           *
           *         File的exists方法
           *                     是測試此抽象路徑名表示的文件或目錄是否存在。
           *
           *
           *         File的getParent()方法
           *                     是返回此抽象路徑名父目錄的路徑名字符串;如果此路徑名沒有指定父目錄,則返回 null
           *
           * */

          import java.io.File;

          public class Demo21 {

              public static void main(String[] args) {

                  File f = new File("f:" + File.separator + "demo.txt");
                  System.out.println(f.getPath());
                  System.out.println(f.getParent());
                  if(f.exists()){
                      f.delete();
                  }
                  else{
                      try{
                          System.out.println(f.createNewFile());
                      }catch(Exception e){}
                  }

              }

          }
          運(yùn)行結(jié)果:


          再看一個判斷目錄的方法:


          /**
           *
           *         File的一個方法File.getPath()
           *                     是將此抽象路徑名轉(zhuǎn)換為一個路徑名字符串。
           *
           *         File的isDirectory()的方法
           *                     是測試此抽象路徑名表示的文件是否是一個目錄。
           *         當(dāng)且僅當(dāng)此抽象路徑名表示的文件存在且 是一個目錄時,返回 true;否則返回 false。   
           *
           *
           * */

           
          import java.io.File;

          public class Demo51 {
             
              public static void main(String[] args){
                  File f = new File("f:" + File.separator + "aa");
                  System.out.println(f.getPath());
                  System.out.println(f.isDirectory());
              }

          }

          運(yùn)行結(jié)果:



          注意下一個代碼,可能對你很有幫助啊!!

          /**
           *
           *             File的list()方法可以:
           *             返回一個字符串?dāng)?shù)組,
           *             這些字符串指定此抽象路徑名表示的目錄中的文件和目錄。
           *
           * */

          import java.io.File;

          public class Demo61 {

              public static void main(String[] args) {
                 
                  File f = new File("f:\\book");
                 
                 
                  //使用list列出
                  //列出的只是一個名稱
                  String[] str = f.list();
                  for(int i=0;i<str.length;i++){
                      System.out.println(str[i]);
                  }

              }

          }
          這個程序的運(yùn)行結(jié)果是你目錄下的文件:



          下面的程序 你可能會很感興趣!因為你想玩HK,或者你想給別人整個惡作劇,你必須要掃描下他的電腦,以下方法就實(shí)現(xiàn)了怎樣去掃描一個電腦里的所有文件(我的代碼選擇的是掃描C盤下的所有文件,如果你想掃描其他盤,只要把文件改一下就OK啦)

          import java.io.File;

          public class Demo81 {

              public static void main(String[] args) {
                 
                  String str = "C:\\";
                  File f = new File(str);
                  fun(f);
              }
             
              //要不斷列出,因為給出的File類對象可能是一個目錄
              public static void fun(File f){
                  //判斷給定的路徑是否是目錄,如果是目錄在列出
                  if(f.isDirectory()){
                      File[] file = f.listFiles();
                      //再依次循環(huán)進(jìn)行判斷
                      try{
                          for(int i = 0;i < file.length;i++){
                              //繼續(xù)把內(nèi)容傳入到fun方法之中進(jìn)行驗證
                              fun(file[i]);
                          }
                      }catch(Exception e){}
                  }
                  else{
                      System.out.println(f);
                  }
              }

          }


          運(yùn)行結(jié)果我就不貼出來了,因為C盤的文件太多啦!!!如果你想知道,自己把代碼帶下看看,你會很吃驚的!你會想原來掃描的原理這么簡單!!!







          posted on 2010-11-07 23:05 tovep 閱讀(59670) 評論(2)  編輯  收藏

          FeedBack:
          # re: IO流_Java_File類總結(jié) 2011-08-10 14:04 dfg
          htgtttttttt  回復(fù)  更多評論
            
          # re: IO流_Java_File類總結(jié) 2014-10-06 15:42 頭發(fā)點(diǎn)擊放大
          最后的要加靜態(tài)  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主頁 主站蜘蛛池模板: 岑溪市| 滦平县| 新河县| 阜南县| 永嘉县| 铁岭县| 宾阳县| 保德县| 仁怀市| 鹿泉市| 栖霞市| 朝阳区| 友谊县| 响水县| 临沧市| 岚皋县| 腾冲县| 甘泉县| 昆明市| 莱西市| 丹阳市| 凤翔县| 麻城市| 通化市| 理塘县| 安陆市| 宝坻区| 江孜县| 郸城县| 包头市| 安乡县| 乌鲁木齐县| 博乐市| 驻马店市| 西盟| 乐清市| 巫溪县| 灵寿县| 景德镇市| 宝兴县| 吴旗县|