Java IO类详解(一)

      近日在研究Java,在Java的IO里有点困惑,可能这流那流太多了吧,今日决定好好的把这些流给整理一下,来结束这几天的原地踏步走啊,呵呵,搞了我好几天了,同时也希望高手来指点指点。

     Java IO操作主要指的是使用Java进行输入,输出操作,Java所有的操作类都存放在Java.io包中,使用时要导入此包。

     在整个Java.io包中最要的就是5个类和一个接口,如下:

                    类:File,Inputstream,Outputstream,Reader,Writer。

                    接口:Serializable。

     在Java.io包中还有一个类:RandomAccessFile 随机读取类也要注意,他可以随机地读取一个文件指定位置的数据。

 

     因为输入输出除了和键盘打交道外,最重要的就是操作文件,读取文件,把数据存储到文件里,下面先从文件File类说起。

 

    一.File类

       1.构造方法:

       @1   public File(String pathname);

       例如:File f=new File("f://java//hello.txt");    //注意在Java里路径是/,且要写成//,转移字符;

       那么现在就可以使用这个f对象了,使用File类的方法来操作这个文件了,这个构造方法是最常用的,还有以下几个构造方法:

 

       @2   public File(File parent,String child)   //根据 parent 抽象路径名(一般为目录)和 child 路径名字符串创建一个新 File 实例。

       例如: File f=new File("F://myjava//");

               File ff=new File(f,"hello.txt");

               那么此时也表示f://java//hello.txt这个文件.

 

       @3   public File(String parent,String child)                      //这个是把文件路径的目录和文件名分开表示来创建一个File实例

       例如  File f=new File("f://myjava","hello.txt");

 

       @4    public File(URL url);                                            //这个是把一个file: URI 转换为一个抽象路径名来创建一个新的 File 实例

        例如   File f=new File(new URL("http://www.qq.com"));       //这时候就可以操作远程文件了,但是只能读取,不能写

      上面四个就是File的构造方法,创建文件实例后就要操作它,下面就是File类的一些重要方法和常量:

      public static final String pathSeparator        //表示路径的分隔符,window下是‘;’;

      public static final String separator                //表示路径的分隔符,window下是‘/’;

      public boolean createNewFile() throws IOException   //创建一个新的文件,注意此方法可能抛出异常

      public boolean delete()  //删除一个文件

      public boolean exists()  //判断一个文件或者目录是否存在

      public boolean isFile()//判断是不是文件

      public boolean isDirectory()//判断是不是目录

      public boolean canRead()//判断文件能不能读

      public boolean canWrite()//判断文件能不能写

      public int compareTo(File pathname)//比较两个路径是否相同

      public long length()//获取文件的长度

      public long lastModified()//获取文件最后一次修改的时间

      public String[] list()//列出指定目录里的全部内容,只是列出名称

      public File[] listFiles()//列出指定目录里的全部内容,并且是文件的路径

      public boolean mkdir()//创建一个目录

      public boolean renameTo(File dest)//为已有的文件重命名

      public String getName()//获取文件名,返回由此抽象路径名表示的文件或目录的名称

      public String getParent()//返回此抽象路径名父目录的路径名字符串

      public String getPath()//将此抽象路径名转换为一个路径名字符串

 

实例

import java.io.File;                                            
import java.io.IOException;


public class FileClassDemo {
 public static void main(String[] args){
  File f=new File("F://myjava//test.java");            //用字符串创建一个实例
  if(!f.exists()){                                                     //判断这个抽象路径表示的文件是否存在
   try{
    f.createNewFile();                                            //如果不存在,则创建这文件
   }catch(IOException e){                                    //创建文件可能抛出IOException异常
    e.printStackTrace();
   }
  }                                                                
   File dest=new File("F://myjava//welcome.java"); //重名这个文件
   f.renameTo(dest);
  


  System.out.println("f.getName():"+f.getName());          //test.java
  System.out.println("f.getParent():"+f.getParent());       //f:/myjava

  System.out.println("f.getPath():"+f.getPath());            //f:/myjava/test.java
  System.out.println("f.canRead():"+f.canRead());          //true

  System.out.println("f.canWrite():"+f.canWrite());         //true
  System.out.println("f.length():"+f.length());                 //
  System.out.println("f.lastModified():"+f.lastModified());//
  System.out.println("f.isFile():"+f.isFile());                     //true
  System.out.println("f.isDirectory():"+f.isDirectory());   //false
  f.detele();                                                                    //删除这个文件
 }

}

 

 

 

       File类里还有一些其他方法,不在详述。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值