Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > 服务器相关 > 从File类开始java IO 系统介绍
【标  题】:从File类开始java IO 系统介绍
【关键字】:File,java,IO
【来  源】:http://blog.chinaunix.net/article.php?articleId=46486&blogId=1655

从File类开始java IO 系统介绍

Your Ad Here           无论学习那种语言都难免要接触到文件系统,要经常和文件打交道。Java当然也不例外,有些网友觉得IO的设计很烦琐,有的时候我也有这样的感觉,其实用的熟练了,倒是觉得这个东西还是挺方便的。在介绍Java IO之前首先介绍一下非常重要的一个类File。

              在看到这个类的名字后你一定认为它代表一个文件,事实上这样认为并不准确,因为Java中的File类可以代表文件也可以代表目录。在API doc中说明了这一点,同时把File用abstract pathname来代表。不过想想目录不也就是特殊的文件吗?

        无论学习那种语言都难免要接触到文件系统,要经常和文件打交道。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...

 

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)
  }
 }

};

JAVA程序员必去的网站:【上一篇】
退学吧,这样你还有得救--历史上最nb的校园演讲!:【下一篇】
【相关文章】
  • JAVA程序员必去的网站
  • JAVA解析网络数据流
  • JAVA操作Excel电子表格
  • JAVA操作文本文件
  • 使用Java控制UDP协议
  • Java平台最“体贴”的工具--Javadoc
  • 对 java.lang 的研究
  • Java初学者入门——IO包的学习引导文章
  • 给JAVA设计开发新手的一些建议和意见
  • 使用hbm2java的一个问题
  • 【随机文章】
  • MOSS Links & Workflow Foundation
  • PHP 变量类型
  • jsp乱码谁能帮我解决?网上的方法都用过了。
  • 架设维护Windows Server 2003网页服务器
  • Power.cs
  • mypaint画图程序
  • VB中注册控件的三种简单方法
  • QuickTime 6先睹为快
  • Ant+Junit+Log4J+CVS进行XP模式开发的建立
  • 投票管理程序
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.