首页 > 学院 > 开发设计 > 正文

Java从零开始学三十三(JAVA IO- File类)

2019-11-14 23:06:01
字体:
来源:转载
供稿:网友
java从零开始学三十三(JAVA IO- File类)一、简述在整个io包中,唯一表示与文件本身有关的类就是File类。使用File类可以进行创建或删除文件等常用操作。要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下所示:public File(String pathname) ->实例化File类的时候,必须设置好路径。二、File类中的主要方法和常量
No.方法或常量类型描述
1public static final String pathSeparator常量表示路径的分隔符(windows是:“;”)
2public static final String separator常量表示路径的分隔符(windows是:“/”)
3public File(String pathname)构造创建File类对象,传入完整路径
4public boolean createNewFile() throws IOException普通创建新文件
5public boolean delete()普通删除文件
6public boolean exists()普通判断文件是否存在
7public boolean isDirectory()普通判断给定的路径是否是一个目录
8public long length()普通返回文件的大小
9public String[] list()普通列出指定目录的全部内容,只是列出了名称
10public File[] listFiles()普通列出指定目录的全部内容,会列出路径
11public boolean mkdir()普通创建一个目录
12public boolean renameTo(File dest)普通为已有的文件重新命名

三、创建一个新文件3.1、直接创建文件:
package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo1 {    public static void main(String[] args) {      File file=new File("d:/test.txt");    //声明一个文件对象            try {        boolean flag=file.createNewFile(); //根据路径创建文件返回类型为Boolean类型        if(flag){            System.out.PRintln("文件创建成功");        }else{            System.out.println("文件创建失败");        }    } catch (IOException e) {        e.printStackTrace();    }    }}
3.2 在不同的操作系统中,路径的分隔符表示是不一样的windows中使用反斜杆表示目录的分隔符:“/” ;linux中使用正斜杆表示目录的分隔符:“/”。
package com.pb.file.demo1;import java.io.File;public class FileDemo2 {    public static void main(String[] args) {        System.out.println(File.pathSeparator); // 调用静态常量        System.out.println(File.separator); // 调用静态常量    }}

结果:

;/
3.3、修改创建文件的代码

使用静态常量连接

package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo1 {    public static void main(String[] args) {        String path="d:"+File.separator+"test1.txt";      File file=new File(path);    //声明一个文件对象            try {        boolean flag=file.createNewFile(); //根据路径创建文件返回类型为Boolean类型        if(flag){            System.out.println("文件创建成功");        }else{            System.out.println("文件创建失败");        }    } catch (IOException e) {        e.printStackTrace();    }    }}
四、删除文件4.1、不判断文件是否存在直接删除
package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo3 {    public static void main(String[] args) {        String path="d:"+File.separator+"test.txt";      File file=new File(path);    //声明一个文件对象            boolean flag=file.delete(); //根据路径删除文件返回类型为Boolean类型    if(flag){        System.out.println("文件删除成功");    }else{        System.out.println("文件删除失败");    }    }}
4.2、判断文件是否存在再执行删除
package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo3 {    public static void main(String[] args) {        String path = "d:" + File.separator + "test.txt";        File file = new File(path); // 声明一个文件对象        if (file.exists()) {            boolean flag = file.delete(); // 根据路径删除文件返回类型为Boolean类型                if (flag) {                    System.out.println("文件删除成功");                } else {                    System.out.println("文件删除失败");                }        } else {            System.out.println("文件不存在!");        }    }}
4.3、结合上面2个例子实现创建与删除
package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo4 {    public static void main(String[] args) {        String path = "d:" + File.separator + "test.txt";        File file = new File(path); // 声明一个文件对象        if(file.exists()){   //判断文件是否存在如果存在就删除            file.delete();            System.out.println("文件存在,删除成功!");        }else{//判断文件是否存在如果不存在就创建            try {                file.createNewFile();                System.out.println("文件不存在,创建成功!");            } catch (IOException e) {                e.printStackTrace();            }                    }    }}
五、创建文件夹5.1、创建一个文件夹mkdir
package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo5 {    public static void main(String[] args) {        String path = "d:" + File.separator + "test";        File file = new File(path); // 声明一个文件对象        if(!file.exists()){        boolean flag=file.mkdir();                //创建文件夹            if(flag){                System.out.println("文件夹创建成功");            }        }else{            System.out.println("已经存在这个名称的文件夹!");        }    }}
5.2、创建一个多层文件夹mkdirs
package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo5 {    public static void main(String[] args) {        String path = "d:" + File.separator + "test"+ File.separator + "test1"+ File.separator + "test2";        File file = new File(path); // 声明一个文件对象        if(!file.exists()){        boolean flag=file.mkdirs();                //创建文件夹            if(flag){                System.out.println("文件夹创建成功");            }        }else{            System.out.println("已经存在这个名称的文件夹!");        }    }}
5.3、列出目录下的全部内容
package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo6 {    public static void main(String[] args) {        String path = "f:" + File.separator ;        File file = new File(path); // 声明一个文件对象        System.out.println("============只列出文件夹和文件的名称===============");        String [] str=file.list();//列出目录中的全部内容文件夹和文件        //此方法只列出文件夹和文件的名称        for (int i = 0; i < str.length; i++) {            System.out.println(str[i].toString());        }        System.out.println("==============列出路径、文件夹和文件的名称=================");        File[] file1=file.listFiles();        //列出目录中的全部内容文件夹和文件        //此方法会列出路径、文件夹和文件的名称        for (int i = 0; i < file1.length; i++) {            System.out.println(file1[i].toString());        }            }}

结果:

============只列出文件夹和文件的名称===============$RECYCLE.BINdownloadeclipse-keplerhtmljavajava webJavascriptjavastudyjqueryjsjspjsptestlinuxOracleoracle学习笔记shopSystem Volume Informationttoolsvm软件==============列出路径、文件夹和文件的名称=================f:/$RECYCLE.BINf:/downloadf:/eclipse-keplerf:/htmlf:/javaf:/java webf:/javascriptf:/javastudyf:/jqueryf:/jsf:/jspf:/jsptestf:/linuxf:/ORACLEf:/oracle学习笔记f:/shopf:/System Volume Informationf:/tf:/toolsf:/vmf:/软件
5.3、增加判断是文件还是目录

先判断给出一是不是目录

package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo7 {    public static void main(String[] args) {        String path = "g:" + File.separator ;        File file = new File(path); // 声明一个文件对象                if(file.isDirectory()){            System.out.println(file.getPath()+"是目录!");        }        if(file.isFile()){            System.out.println(file.getPath()+"是文件!");        }            }}
package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo7 {            public void print(File file){        if(file.exists()){  //判断给定的目录或者文件是否存在            System.out.println("=============路径存在=========");        if(file.isDirectory()){            System.out.println(file.getPath()+"是目录! 将会列出目录下的所有文件!==============");            File    [] f=file.listFiles();                        //是目录就列出目录下的所有内容            for (int i = 0; i < f.length; i++) {                if(f[i].isDirectory()){                    System.out.println(f[i]+"/t是目录!");                }else{                System.out.println(f[i]+"/t是文件!");                }            }        }else{                //不是目录就打印路径信息            System.out.println(file+"/t是文件!");        }        }else{            System.out.println(file+"=============路径不存在!=============");        }    }    public static void main(String[] args) {        String path = "g:" + File.separator ;        File file = new File(path); // 声明一个文件对象        FileDemo7 fd=new FileDemo7();        fd.print(file);                            }}

结果:

=============路径存在=========g:/是目录! 将会列出目录下的所有文件!==============g:/$RECYCLE.BIN    是目录!g:/Adobe Dreamweaver CS5    是目录!g:/Adobe Dreamweaver CS5.rar    是文件!g:/atm    是目录!g:/atm.rar    是文件!g:/eclipse    是目录!g:/eclipse-kepler    是目录!g:/html    是目录!g:/java    是目录!g:/jsp    是目录!g:/orcale    是目录!g:/SqlHistory.xml    是文件!g:/System Volume Information    是目录!g:/~1    是目录!g:/书    是目录!g:/停止..bat    是文件!g:/启动.bat    是文件!g:/源    是目录!g:/第三方控件    是目录!
六、其它的一些方法
package com.pb.file.demo1;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;/* * 文件操作的一些方法 */public class FileMethods {    public static void main(String[] args) throws IOException {        //实例化File类对象        File f=new File("d:"+File.separator+"test"+File.separator+"hello.txt");        //文件文件属性        System.out.println("文件名:"+f.getName());        //相对路径        System.out.println("相对路径:"+f.getParent());        //绝对路径        System.out.println("绝对路径:"+f.getAbsolutePath());        //获取文件的父级目录,上一级目录        System.out.println("上一级目录"+f.getParent());        //当前文件是否存在        System.out.println(f.exists()?"文件存在":"文件不存在");        //是不是个文件        System.out.println(f.isFile()?"是文件":"不是文件");        //文件长度        System.out.println("文件长度:"+f.length());        //是不是个文件        System.out.println(f.isDirectory()?"是文件夹":"不是文件夹");        //是否可以 读        System.out.println(f.canRead()?"文件可读":"文件不可读");        //是否可以写        System.out.println(f.canRead()?"文件可写":"文件不可写");        //最后一次修改的时间        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        Date date=new Date(f.lastModified());        System.out.println("最后修改的时间:"+sdf.format(date));        //新建        if(!f.exists()){    //如果文件不存在就创建            f.createNewFile();            System.out.println("创建文件");        }else{            //如果存在就删除            f.delete();            System.out.println("删除文件");        }            }}


上一篇:java正则表达式

下一篇:java入门知识

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表