No. | 方法或常量 | 类型 | 描述 |
1 | public static final String pathSeparator | 常量 | 表示路径的分隔符(windows是:“;”) |
2 | public static final String separator | 常量 | 表示路径的分隔符(windows是:“/”) |
3 | public File(String pathname) | 构造 | 创建File类对象,传入完整路径 |
4 | public boolean createNewFile() throws IOException | 普通 | 创建新文件 |
5 | public boolean delete() | 普通 | 删除文件 |
6 | public boolean exists() | 普通 | 判断文件是否存在 |
7 | public boolean isDirectory() | 普通 | 判断给定的路径是否是一个目录 |
8 | public long length() | 普通 | 返回文件的大小 |
9 | public String[] list() | 普通 | 列出指定目录的全部内容,只是列出了名称 |
10 | public File[] listFiles() | 普通 | 列出指定目录的全部内容,会列出路径 |
11 | public boolean mkdir() | 普通 | 创建一个目录 |
12 | public boolean renameTo(File dest) | 普通 | 为已有的文件重新命名 |
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("删除文件"); } }}
新闻热点
疑难解答