1.路径分隔符问题:
因为java有跨平台行,而在windows和linux中的目录分隔符是不同的。windows是"" 而linux是"/" 所以必须想办法解决。在java的File的方法中我们发现了public static final String separator 这样系统就会根据系统信息得出分隔符。所以之前代码最好改为:
1 import java.io.File ; 2 import java.io.IOException ; 3 public class FileDemo02{ 4 public static void main(String args[]){ 5 System.out.println("pathSeparator:" + File.pathSeparator) ; // 调用静态常量 6 System.out.println("separator:" + File.separator) ; // 调用静态常量 7 } 8 };
二:文件的删除;
使用File类中的delete()方法,我们知道,删除时可能文件不存在,所以我们最好先判断下是否存在,不然会出现异常:
下面的例子:
1 import java.io.File ; 2 import java.io.IOException ; 3 public class FileDemo05{ 4 public static void main(String args[]){ 5 File f = new File("d:"+File.separator+"test.txt") ; // 实例化File类的对象 6 if(f.exists()){ // 如果文件存在则删除 7 f.delete() ; // 删除文件 8 } 9 } 10 };
三:创建个文件夹;直接使用mkdir()方法即可
1 import java.io.File ; 2 import java.io.IOException ; 3 public class FileDemo07{ 4 public static void main(String args[]){ 5 File f = new File("d:"+File.separator+"mldn") ; // 实例化File类的对象 6 f.mkdir() ; // 创建文件夹 7 } 8 };
四:列出指定目录中的全部文件:
File类中提供了如下方法,1,public String[] list();和2,public File[] listFiles();
1、使用list方法列出
1 import java.io.File ; 2 import java.io.IOException ; 3 public class FileDemo08{ 4 public static void main(String args[]){ 5 File f = new File("d:"+File.separator) ; // 实例化File类的对象 6 String str[] = f.list() ; // 列出给定目录中的内容 7 for(int i=0;i<str.length;i++){ 8 System.out.println(str[i]) ; 9 } 10 } 11 };
2、使用listFile方法
1 import java.io.File ; 2 import java.io.IOException ; 3 public class FileDemo09{ 4 public static void main(String args[]){ 5 File f = new File("d:"+File.separator) ; // 实例化File类的对象 6 File files[] = f.listFiles() ; // 列出全部内容 7 for(int i=0;i<files.length;i++){ 8 System.out.println(files[i]) ; 9 } 10 } 11 };
五、判断路径是否为目录;
可以直接调用idDirectory()方法
1 import java.io.File ; 2 import java.io.IOException ; 3 public class FileDemo10{ 4 public static void main(String args[]){ 5 File f = new File("d:"+File.separator) ; // 实例化File类的对象 6 if(f.isDirectory()){ // 判断是否是目录 7 System.out.println(f.getPath() + "路径是目录。") ; 8 }else{ 9 System.out.println(f.getPath() + "路径不是目录。") ; 10 } 11 } 12 };