1.关于java.io.File类
- File类只能表示计算机中的文件或目录而不能获取或操作文件
- 通过File类获得到文件的基本信息,如文件名、大小等,但不能获取文件内容
- java中表示文件路径分隔符使用"/"或"\\"
- File类中的构造方法
- File("E:/abc/abc.txt"):根据文件或目录的具体路径创建一个文件对象
- File("E:\\学习笔记\\Java笔记","Mysql.md"):根据父目录和文件名创建一个文件对象
- File类的常用方法 - File.separator:路径分隔符,该分隔符会根据不同的操作系统使用不同的分隔符,具有跨平台性
- boolean file.exists():检测文件或目录是否存在,如果存在返回true,如果不存在返回false
- String file.getName():获得文件名
- String file.getAbsolutePath():获得文件的绝对路径
- long file.length():获得文件的大小,返回字节单位
- boolean file.setReadOnly():设置文件为只读
- boolean file.setWritable(true):设置文件为可写入
- boolean file.createNewFile():创建文件,该方法只能创建文件,不能创建目录,如果目录不存在则报错
- boolean file.delete():删除指定文件或目录,如果中存在内容,则不可删除
- boolean file.mkdir():创建目录,该方法只能创建一级目录,不能创建多级目录 - boolean file.mkdirs():创建多级目录
- boolean file.isFile():检测是否为文件,如果是返回true否则返回false
- boolean file.isDirectory():检测是否为目录,如果是返回true如果不是返回false
- String[] file.list():获得目录中的直接子文件或子目录名,返回包含这些名称的字符串数组
- File[] file.listFiles():获得目录中所有子文件对象或子目录对象
- File[] File.listRoots():获得磁盘中的所有盘符
- File[] file.listFiles(FilenameFilter filenameFilter):遍历目录中的所有子文件,并设置文件名过滤条件,将符合条件的文件获得
2.实例
package 文件File;import java.io.File;public class FileDemo1 {public static void main(String[] args) {/*** 创建一个文件对象("e:/io测试文件.txt")* File类中常用的构造方法* 1.根据文件的绝对路径创建一个File对象* File(String filePath)*/File file=new File("E:\\学习笔记\\Java笔记\\javaSE.md");System.out.println(file);//检测File对应的文件是否存在if (file.exists()){System.out.println("文件存在");//获取文件名String fileName=file.getName();System.out.println(fileName);//获得文件的绝对路径String filePath=file.getAbsolutePath();System.out.println(filePath);//获取文件大小、以字节为单位long length = file.length();System.out.println(length);double fileSize=length/1024.0;System.out.println("KB大小:"+fileSize);//设置文件为只读文件/* boolean isReadOnly = file.setReadOnly();System.out.println(isReadOnly);*/file.setWritable(true);}else {System.out.println("文件不存在");}}
}
package 文件File;import java.io.File;
import java.io.IOException;public class FileDemo2 {public static void main(String[] args) throws IOException {File file=new File("E:\\学习笔记\\Java笔记\\redmw.txt");if (file.exists()){//存在System.out.println("文件存在,文件名为:");System.out.print(file.getName());System.out.println("开始删除文件.....");boolean isOk = file.delete();System.out.println(isOk?"文件删除成功":"文件删除失败");}else {//不存在System.out.println("文件不存在,开始创建文件....");//创建文件,该方法只能创建文件,不能创建目录,如果目录不存在则报错boolean isOK = file.createNewFile();System.out.println(isOK?"文件创建成功":"文件创建失败");}}
}
package 文件File;import java.io.File;
import java.io.IOException;public class FileDemo3 {public static void main(String[] args) throws IOException {File file=new File("e:/jiazhong/xian/java");if (file.exists()){System.out.println("目录存在");boolean isOk = file.delete();System.out.println(isOk?"目录删除成功":"目录删除失败");}else {System.out.println("目录不存在");//不存在,创建文件/*boolean isOk = file.createNewFile();System.out.println(isOk?"文件创建成功":"文件创建失败");*///创建目录boolean isOk = file.mkdirs();System.out.println(isOk?"目录创建成功":"目录创建失败");}}
}
package 文件File;import java.io.File;public class FileDemo4 {public static void main(String[] args) {File file=new File("e:"+File.separator+"jiazhong");//检测file对应的文件是文件还是目录if (file.isFile()){System.out.println("是文件");}else {System.out.println("不是文件");if (file.isDirectory()){System.out.println("是目录");}else {System.out.println("不是目录");}}}
}
package 文件File;import java.io.File;public class FileDemo5 {public static void main(String[] args) {File file=new File("E:\\学习笔记");//获得目录中所有子目录或文件的文件名String[] subFileNames=file.list();for (String fileName:subFileNames){System.out.println(fileName);}System.out.println("========================");//获得目录中所有的子文件对象或子目录对象File[] subFiles = file.listFiles();for (File subFile:file.listFiles()){System.out.println(subFile);}}
}
package 文件File;import java.io.File;public class FileDemo6 {public static void main(String[] args) {File file=new File("E:\\学习笔记\\Java笔记","Mysql.md");if (file.exists()){System.out.println("文件存在");}}
}