中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > 服务器 > 域名服务器
从File类开始java IO 系统介绍
作者:未知 时间:2005-09-13 23:44 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:从File类开始java IO 系统介绍
          无论学习那种语言都难免要接触到文件系统,要经常和文件打交道。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)
  }
 }

};

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有