隨筆 - 20  文章 - 57  trackbacks - 0
          <2014年10月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          51CTO

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜


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

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


          下面的代碼表示一個(gè)文件:

          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()方法是判斷文件是文件夾還是一個(gè)文件(這里可能有點(diǎn)迷糊),也可以這么理解,我所說(shuō)的文件夾就是一個(gè)目錄,
          getPath()方法是打印文件(這里指的是file文件夾)的路徑!!!


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

          /**
           *
           *          File.speparator的作用是判斷在不同的系統(tǒng)中斜杠的方向
           *
           * 在windows中斜杠的方向是向右斜的\\
           * 在Linux  中斜杠的方向是向左斜的//
           *
           *
           *         File中createNewFile方法:
           *          當(dāng)且僅當(dāng)不存在具有此抽象路徑名指定名稱的文件時(shí),不可分地創(chuàng)建一個(gè)新的空文件。
           *          檢查文件是否存在,若不存在則創(chuàng)建該文件,這是單個(gè)操作,對(duì)于其他所有可能影響該文件的文件系統(tǒng)活動(dòng)來(lái)說(shuō),該操作是不可分的。
           *   
           *            注:此方法不應(yīng)該 用于文件鎖定,因?yàn)樗脜f(xié)議可能無(wú)法可靠地工作。應(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ù)制這些代碼的話,可能會(huì)出現(xiàn)以下異常


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

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

          /**
          *
          *         File中createNewFile方法:
          *          當(dāng)且僅當(dāng)不存在具有此抽象路徑名指定名稱的文件時(shí),不可分地創(chuàng)建一個(gè)新的空文件。
          *          檢查文件是否存在,若不存在則創(chuàng)建該文件,這是單個(gè)操作,對(duì)于其他所有可能影響該文件的文件系統(tǒng)活動(dòng)來(lái)說(shuō),該操作是不可分的。
          *   
          *            注:此方法不應(yīng)該 用于文件鎖定,因?yàn)樗脜f(xié)議可能無(wú)法可靠地工作。應(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()方法,代碼如下:

          /**
           *
           *             要操作一個(gè)文件,必須要找到這個(gè)文件
           *             在Java中,只有File類能表示一個(gè)文件,所有用File表示一個(gè)文件
           *             File的屬性就是文件的路徑,虛擬機(jī)會(huì)根據(jù)File類的參數(shù)找到指定的文件
           *             找到問(wèn)及那后可以用File類的方法進(jìn)行操作!
           *
           *             delete()方法可以刪除一個(gè)文件或者一個(gè)整個(gè)文件夾(整個(gè)目錄),返回結(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("成功刪除文件");
                  }
              }
          }

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



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

          /**
           *
           *         File的一個(gè)方法File.getPath()
           *                     是將此抽象路徑名轉(zhuǎn)換為一個(gè)路徑名字符串。
           *
           *         File的exists方法
           *                     是測(cè)試此抽象路徑名表示的文件或目錄是否存在。
           *
           *
           *         File的getParent()方法
           *                     是返回此抽象路徑名父目錄的路徑名字符串;如果此路徑名沒(méi)有指定父目錄,則返回 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é)果:


          再看一個(gè)判斷目錄的方法:


          /**
           *
           *         File的一個(gè)方法File.getPath()
           *                     是將此抽象路徑名轉(zhuǎn)換為一個(gè)路徑名字符串。
           *
           *         File的isDirectory()的方法
           *                     是測(cè)試此抽象路徑名表示的文件是否是一個(gè)目錄。
           *         當(dāng)且僅當(dāng)此抽象路徑名表示的文件存在且 是一個(gè)目錄時(shí),返回 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é)果:



          注意下一個(gè)代碼,可能對(duì)你很有幫助啊!!

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

          import java.io.File;

          public class Demo61 {

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

              }

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



          下面的程序 你可能會(huì)很感興趣!因?yàn)槟阆胪鍴K,或者你想給別人整個(gè)惡作劇,你必須要掃描下他的電腦,以下方法就實(shí)現(xiàn)了怎樣去掃描一個(gè)電腦里的所有文件(我的代碼選擇的是掃描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);
              }
             
              //要不斷列出,因?yàn)榻o出的File類對(duì)象可能是一個(gè)目錄
              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)行驗(yàn)證
                              fun(file[i]);
                          }
                      }catch(Exception e){}
                  }
                  else{
                      System.out.println(f);
                  }
              }

          }


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







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

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

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


          網(wǎng)站導(dǎo)航:
           
          主頁(yè) 主站蜘蛛池模板: 余庆县| 会昌县| 巨鹿县| 内丘县| 蓬莱市| 黎城县| 株洲县| 衡水市| 平乡县| 略阳县| 剑河县| 兴宁市| 渝北区| 奇台县| 纳雍县| 济阳县| 婺源县| 滦平县| 天水市| 库车县| 临桂县| 海淀区| 桓台县| 沙湾县| 临江市| 通城县| 鹿泉市| 闻喜县| 台前县| 年辖:市辖区| 万安县| 防城港市| 乐至县| 拉萨市| 米脂县| 富源县| 小金县| 耒阳市| 将乐县| 界首市| 临汾市|