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 };