解决方法一:先判断操作系统,在决定使用什么样的分隔符 String s= System.getProperty("os.name"); System.out.println(s);
if(s.equals("Mac OS X")){
File f = new File("/Users/TOOBUG/Desktop/");
}else if(s.equals("Windows 10 NT")){
File f = new File("\\Users\\TOOBUG\\Desktop\\");
}
解决方法二:File.separator;根据系统环境自动动态的匹对对应的分割符 String s = File.separator; File file = new File("Users"+s+"TOOBUG"+s+"Desktop"+s); System.out.println(file);
创建功能: boolean createNewFile():创建一个新的文件,如果文件不存在自动创建,已经存在不在创建 boolean mkdir():创建一个目录,如果已经存在则不再创建 boolean mkdirs():创建多层文件夹,如果上一级文件夹不存在则自动创建。
删除功能: boolean delete():可以删除某一个目录或者文件
注意事项: 1.删除目录只能删除为空的目录 2.所有的删除是物理删除,不走回收站
重命名功能: boolean renameTo(File dest):
注意事项: 1.如果两个路径都相同,则是重命名 2.如果两个路径不相同,则重命名并且剪切到新路径
目录名:demo(file对象) - > 资源(只能是一个新的路径的File对象)
判断功能: boolean isDirectory():判断是否为目录 boolean isFile:判断是否为文件 boolean exists:判断是否存在
boolean canRead():判断文件是否可读 boolean canWrite():判断文件是否可写 boolean isHidden():判断文件是否隐藏
获取功能: String getAbsolutePath():获取文件的绝对路径 String getPath():获取相对路径 String getName():获取文件(目录)的名字 String length():获取文件字节大小 long lastModified():获取文件的最后一次的修改时间(毫秒值) String[] list:获取指定目录下面的所有文件和文件夹名字,返回一个String数组 File[] listFiles:获取指定目录下面的所有文件和文件的File对象,返回一个File数组
判断任意盘目录下面是否存在后缀名为.java的文件,如果有就进行输出并且显示相关文件的最后一次修改日期、大小。(思路:用递归就可以取出一个盘下所有的Java文件,代码如下)
public static void main(String args[]) throws IOException {
String a="E:";//盘符
File file=new File(a);
file01(file);
}
public static void file01(File file){
if(file.isDirectory()){
File[] files=file.listFiles();
for (File f:files) {
if(f.isDirectory()){
file01(f);
}else if(f.isFile()){
if(f.getName().endsWith(".java")){
System.out.println(f.getName());
}
}
}
}
}