Java中的IO整理

详情:http://developer.51cto.com/art/201109/292225.htm

本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面。照旧,文章依旧以例子为主,因为讲解内容的java书很多了,我觉的学以致用才是真。代码是写出来的,不是看出来的。

AD:

本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面。照旧,文章依旧以例子为主,因为讲解内容的java书很多了,我觉的学以致用才是真。代码是写出来的,不是看出来的。

最后欢迎大家提出意见和建议。

【案例1】创建一个新文件

  1. import java.io.*;  
  2. class hello{  
  3.     public static void main(String[] args) {  
  4.         File f=new File("D:\\hello.txt");  
  5.         try{  
  6.             f.createNewFile();  
  7.         }catch (Exception e) {  
  8.             e.printStackTrace();  
  9.         }  
  10.     }  

【运行结果】:

程序运行之后,在d盘下会有一个名字为hello.txt的文件。

【案例2】File类的两个常量

  1. import java.io.*;  
  2. class hello{  
  3.     public static void main(String[] args) {  
  4.         System.out.println(File.separator);  
  5.         System.out.println(File.pathSeparator);  
  6.     }  

【运行结果】:
\
;
此处多说几句:有些同学可能认为,我直接在windows下使用\进行分割不行吗?当然是可以的。但是在linux下就不是\了。所以,要想使得我们的代码跨平台,更加健壮,所以,大家都采用这两个常量吧,其实也多写不了几行。呵呵、

现在我们使用File类中的常量改写上面的代码:

  1. import java.io.*;  
  2. class hello{  
  3.     public static void main(String[] args) {  
  4.         String fileName="D:"+File.separator+"hello.txt";  
  5.         File f=new File(fileName);  
  6.         try{  
  7.             f.createNewFile();  
  8.         }catch (Exception e) {  
  9.             e.printStackTrace();  
  10.         }  
  11.     }  

你看,没有多写多少吧,呵呵。所以建议使用File类中的常量。

删除一个文件

  1. /**  
  2.  * 删除一个文件  
  3.  * */ 
  4. import java.io.*;  
  5. class hello{  
  6.     public static void main(String[] args) {  
  7.         String fileName="D:"+File.separator+"hello.txt";  
  8.         File f=new File(fileName);  
  9.         if(f.exists()){  
  10.             f.delete();  
  11.         }else{  
  12.             System.out.println("文件不存在");  
  13.         }  
  14.           
  15.     }  

创建一个文件夹

  1. /**  
  2.  * 创建一个文件夹  
  3.  * */ 
  4. import java.io.*;  
  5. class hello{  
  6.     public static void main(String[] args) {  
  7.         String fileName="D:"+File.separator+"hello";  
  8.         File f=new File(fileName);  
  9.         f.mkdir();  
  10.     }  

【运行结果】:

D盘下多了一个hello文件夹

列出指定目录的全部文件(包括隐藏文件):

  1. /**  
  2.  * 使用list列出指定目录的全部文件  
  3.  * */ 
  4. import java.io.*;  
  5. class hello{  
  6.     public static void main(String[] args) {  
  7.         String fileName="D:"+File.separator;  
  8.         File f=new File(fileName);  
  9.         String[] str=f.list();  
  10.         for (int i = 0; i < str.length; i++) {  
  11.             System.out.println(str[i]);  
  12.         }  
  13.     }  

【运行结果】:

$RECYCLE.BIN

360

360Downloads

360Rec

360SoftMove

Config.Msi

da

Downloads

DriversBackup

eclipse

java web整合开发和项目实战

Lenovo

MSOCache

Program

Program Files

python

RECYGLER.{8F92DA15-A229-A4D5-B5CE-5280C8B89C19}

System Volume Information

Tomcat6

var

vod_cache_data

新建文件夹

(你的运行结果应该和这个不一样的,呵呵)

但是使用list返回的是String数组,。而且列出的不是完整路径,如果想列出完整路径的话,需要使用listFiles.他返回的是File的数组

列出指定目录的全部文件(包括隐藏文件):

  1. /**  
  2.  * 使用listFiles列出指定目录的全部文件  
  3.  * listFiles输出的是完整路径  
  4.  * */ 
  5. import java.io.*;  
  6. class hello{  
  7.     public static void main(String[] args) {  
  8.         String fileName="D:"+File.separator;  
  9.         File f=new File(fileName);  
  10.         File[] str=f.listFiles();  
  11.         for (int i = 0; i < str.length; i++) {  
  12.             System.out.println(str[i]);  
  13.         }  
  14.     }  

【运行结果】:

D:\$RECYCLE.BIN

D:\360

D:\360Downloads

D:\360Rec

D:\360SoftMove

D:\Config.Msi

D:\da

D:\Downloads

D:\DriversBackup

D:\eclipse

D:\java web整合开发和项目实战

D:\Lenovo

D:\MSOCache

D:\Program

D:\Program Files

D:\python

D:\RECYGLER.{8F92DA15-A229-A4D5-B5CE-5280C8B89C19}

D:\System Volume Information

D:\Tomcat6

D:\var

D:\vod_cache_data

D:\新建文件夹

通过比较可以指定,使用listFiles更加方便、

posted @ 2011-11-13 17:38  @#¥%……  阅读(180)  评论(0编辑  收藏  举报