一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

java中File类中的常用的方法

时间:2012-10-03 编辑:简简单单 来源:一聚教程网

1.创建
 boolean createNewFile();在指定路径创建文件,如果文件已经存在,则不创建,返回false.输出流
                         对象一旦创建,如果文件存在,则会覆盖。
 boolean mkdir():创建一级文件夹
 boolean mkdirs():创建多级文件夹

调用该类的一个方法createNewFile(),但是在实际操作中需要注意一些事项,如判断文件是否存在,以及如何向新建文件中写入数据等。

 代码如下 复制代码

import java.io.*;
public class CreateNewFile{
 //创建一个方法完成创建文件的目的,文件的第一个参数是文件路径和文件名,第二个参数是文件内容
 //如:myfile.doc  HelloJava!
 public void createNewFile(String fileDirectoryAndName,String fileContent){
  try{
   String fileName = fileDirectoryAndName;
   //创建File对象,参数为String类型,表示目录名
   File myFile = new File(fileName);
   //判断文件是否存在,如果不存在则调用createNewFile()方法创建新目录,否则跳至异常处理代码
   if(!myFile.exists())
    myFile.createNewFile();
   else  //如果不存在则扔出异常
    throw new Exception("The new file already exists!");
   //下面把数据写入创建的文件,首先新建文件名为参数创建FileWriter对象
   FileWriter resultFile = new FileWriter(myFile);
   //把该对象包装进PrinterWriter对象
   PrintWriter myNewFile = new PrintWriter(resultFile);
   //再通过PrinterWriter对象的println()方法把字符串数据写入新建文件
   myNewFile.println(fileContent);
   resultFile.close();   //关闭文件写入流
  }catch(Exception ex){
   System.out.println("无法创建新文件!");
   ex.printStackTrace();
  }
 }
 public static void main(String[] args){
  //创建类的对象并调用该对象的createNewFile()方法,创建新文件并写入数据
  CreateNewFile createFile = new CreateNewFile();
  createFile.createNewFile(args[0],args[1]);
 }
}

执行该程序,在执行代码后直接输入两个参数,第一个参数是文件名,此时需要注明文件类型,这里创建的word文档;第二个参数是文件的内容,该参数是一个字符串数据


2.删除
    boolean delete():删除失败返回假。如果文件正在使用,则删除不了返回false
    void deleteOnExit():程序退出时删除文件
3.判断
    boolean exists():判断文件是否存在
    isFile();
    isDirectory();
    isHidden();
    isAbsolute();
4.获取信息
 getName();
 getPahth();//获取路径
 getAbsoluteFile();//获取绝对路径封装成文件对象
 getAbsolutPath();//获取绝对路径
 getParent();
 lastModified();
 length();

 getParent();//该方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回null.
             //如果相对路径中有一级目录,那么该目录就是返回结果
 renameto()

 代码如下 复制代码

package com.day20.wd;

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

public class IODemo {

    /**
     * @param args
     * @throws IOException
     */
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
  
    }
    private static void method_04() {
        File f=new File("abc\test.java");
        sop(f.getAbsolutePath());
        sop(f.getParent());//该方法返回的是绝对路径中的父目录。如果获取的是相对路径,返回null。
                           //如果相对路径中有上一层目录该目录就是返回结果
        sop(f.getAbsoluteFile());
        File  f2=new File("c:\test.java");
        sop("rename"+f.renameTo(f2));
    }
    private static void method_03() {
        File   f= new File("G:\sdd\sssf\ssf");
         sop("isabsolute"+f.isAbsolute());
         sop(f.getAbsolutePath());
         sop(f.mkdir());
         sop(f.exists());
    }
    private static void method_02() throws IOException {
        File  f=new File("a.txt");
          f.deleteOnExit();//程序退出删除文件
          if(f.exists()) //判断文件是否存在
              f.delete();//删除
          sop(f.getAbsoluteFile());//绝对路径
          sop(f.createNewFile());//创建文件,返回boolean值,如true,创建,如果已存在,那么返回false
          sop(f.createNewFile());
    }
    public static void method__01(){
          //将a.txt封装成File对象,可以将已有的和未出现的文件或者文件夹封装成对象
          File  f=new File("a.txt");
          sop(f.getAbsoluteFile());
          File  f1=new File("d:\abc","a.txt");
          sop(f1.getAbsoluteFile());
          File f2=new File("d:\abc");
          File f3=new File(f2,"a.txt");
          sop(f3);
          //separator目录分割符,可以实现跨平台
    }
    public static void sop(Object e){
        System.out.println(e);
    }
    
}

相关文件操作

在java中File类是唯一可以直接操作文件的类:

一、创建文件

 代码如下 复制代码

FileDemo01.java:


import java.io.File;

import java.io.IOException;

public class FileDemo01

{

public static void main(String args[])

{

File f = new File("e:"+File.separator+"abc.txt");//声明File类的对象

try

{

f.createNewFile();//根据给定的路径创建文件

}

catch (IOException e)//进行异常的捕获打印输出

{

e.printStackTrace();

}

}

}

 

 

2.删除文件:

 代码如下 复制代码

FileDemo02.java


import java.io.File;

public class FileDemo02

{

public static void main(String args[])

{

File f = new File("e:"+File.separator+"abc.txt");

f.delete();//删除文件

}

}

 

 

3.如果文件存在则删除,如果不存在则创建

 代码如下 复制代码

FileDemo03.java:


import java.io.File;

import java.io.IOException;

public class FileDemo03

{

public static void main(String args[])

{

File f = new File("e:"+File.separator+"abc.txt");

/*

如果文件存在则删除文件,如果不存在则创建文件

*/

if(f.exists())

{

f.delete();//删除文件

}

else

{

try

{

f.createNewFile();//创建文件

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

}

4.创建文件夹

 代码如下 复制代码

FileDemo04.java:


import java.io.File;

public class FileDemo04

{

public static void main(String args[])

{

File f = new File("e:"+File.separator+"nwpu");

f.mkdir();

}

}

 

 

5.列出文件(列出的只是文件名)

 代码如下 复制代码

FileDemo05.java:


import java.io.File;

public class FileDemo05

{

public static void main(String args[])

{

File f = new File("e:"+File.separator);//实例化File类的对象

String str [] = f.list();//列出文件,返回一个str数组

for (int i=0;i

{

System.out.println(str[i]);

}

}

}

 


6.列出文件(listFiles()方法可以列出文件的路径)

 代码如下 复制代码

FileDemo06.java:


import java.io.File;

public class FileDemo06

{

public static void main(String args[])

{

File f = new File("e:"+File.separator);//实例化File类的对象

File files[] = f.listFiles();//列出文件

for (int i=0;i

{

System.out.println(files[i]);//调用toString 方法打印输出看看输出信息

}

}

}

 


7.判断是否为目录:(isDirectory()方法)

 代码如下 复制代码

FileDemo07.java:


import java.io.File;

public class FileDemo07

{

public static void main(String args[])

{

File f = new File("e:"+File.separator);//实例化File类的对象

if(f.isDirectory())

{

System.out.println(f.getPath()+"是目录!");

}

else

{

System.out.println(f.getPath()+"不是目录!");

}

}

}

 


8.列出给定目录中的所以内容(如果有子目录则列出子目录中的所以内容)

 代码如下 复制代码

FileDemo08.java:

 

import java.io.File;

public class FileDemo08

{

public static void main(String args[])

{

File f = new File("e:"+File.separator);//实例化File类的对象

printFile(f);

}

public static void printFile(File f)

{

if(f!=null)//判断文件是否为空

{

if(f.isDirectory())//判断文件是否为文件夹

{

File files[] = f.listFiles();//列出文件

if(files!=null)

{//判断此目录能否列出

for(int i=0;i

{

printFile(files[i]);//递归调用判断是否为子文件夹

}

}

}

else

{

System.out.println(f);

}

}

}

}

热门栏目