黑马程序员_Java基础_IO(3)
来源:互联网 发布:淘宝网人工在线客服 编辑:程序博客网 时间:2024/05/01 23:54
---------------------- Android、Java开发期待与您交流! ----------------------
File类
输入流和输出流可以对文件的原始内容进行读写操作,但仅限于文件。
File类是IO包中唯一代表磁盘文件本身信息的类,而不是文件中的内容,操作的对象为磁盘上的文件和目录
File类定义了一些方法来操纵文件,例如:创建、删除文件及重命名文件
File类可以修改文件或目录的属性,例如:修改读写权限、更改文件最后被修改的时间、设置文件和目录的所有者或所有用户的执行权限等
boolean createNewFile():当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。文件已存在返回false,不存在则返回true
boolean mkdir():只能创建一级目录
boolean mkdirs():可以一此创建多级目录
boolean isDirectory():测试此抽象路径名表示的文件是否是一个目录
boolean isFile():测试此抽象路径名表示的文件是否是一个文件,和测试是否是目录方法一样,在判断之前先执行boolean exists()方法
boolean delete(): 删除此抽象路径名表示的文件或目录(只能删除空的目录)
void deleteOnExit():在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
static File[] listRoots(): 列出可用的文件系统根
File[] listFiles():返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。(只能遍历一级目录)
static String separator:与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
File类可以修改文件或目录的属性,例如:修改读写权限、更改文件最后被修改的时间、设置文件和目录的所有者或所有用户的执行权限等
boolean createNewFile():当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。文件已存在返回false,不存在则返回true
boolean mkdir():只能创建一级目录
boolean mkdirs():可以一此创建多级目录
boolean isDirectory():测试此抽象路径名表示的文件是否是一个目录
boolean isFile():测试此抽象路径名表示的文件是否是一个文件,和测试是否是目录方法一样,在判断之前先执行boolean exists()方法
boolean delete(): 删除此抽象路径名表示的文件或目录(只能删除空的目录)
void deleteOnExit():在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
static File[] listRoots(): 列出可用的文件系统根
File[] listFiles():返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。(只能遍历一级目录)
static String separator:与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.FilenameFilter;import java.io.IOException;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;public class FileRelative {/** * @param args */public static void main(String[] args) throws IOException {// printFilePath();// fileBaseOp();File file = new File("c:\\FileRelative.java");//创建抽象路径名所对应的文件file.createNewFile();// getFileProperties(file);getFileInfo(file);File dir = new File("c:\\new File");//ergodicFile(file);//removeDir(dir);rename(); dir = new File("d:\\workspace\\notepad");List<File> list = new ArrayList<File>();// fileToList(dir, list);File file2 = new File(dir, "listToTxt.txt");listToTxt(list, file2);}/** * 创建File对象的几种方式(但并不实际生成相应的目录或文件) */public static void printFilePath() {File dir = new File("c:\\new File\\heima\\io");File file1 = new File("c:\\new File\\heima\\io", "1.part");File file2 = new File("c:\\new File\\heima\\io\\2.part");File file3 = new File(dir, "3.part");File file4 = new File("d:" + File.separator+ "new File\\heima\\io\\4.part");System.out.println(dir);System.out.println(file1);System.out.println(file2);System.out.println(file3);System.out.println(file4);}/** * 新建文件和目录 * * @throws IOException */public static void fileBaseOp() throws IOException {// 通过creatNewFile()新建文件boolean flag = false;File file = new File("c:\\new File\\heima\\io\\test");flag = file.mkdir();System.out.println("mkdir:" + flag);flag = file.mkdirs();System.out.println("mkdirs:" + flag);// 删除// detletOnExit:file or directory is deleted when virtual machineflag = file.delete();System.out.println("delete:" + flag);flag = file.exists();System.out.println("exists:" + flag);file = new File("c:\\new file\\heima\\io\\testFile.txt");for (int i = 0; i < 2; i++) {flag = file.createNewFile();System.out.println("createNewFile:" + flag);flag = file.exists();System.out.println("exists:" + flag);}}/** * 获取获得抽象路径名所对应的文件或目录的属性 * * @param file * 标准文件或目录 * @throws IOException */public static void getFileProperties(File file) throws IOException {boolean flag = true;flag = file.exists();// 检查file对象对应的文件是否存在System.out.println("file.exists():" + flag);// 判断文件是否可执行flag = file.canExecute();System.out.println("canExecute:" + flag);// 判断文件是否可写flag = file.canWrite();System.out.println("canWrite:" + flag);// 判断文件是否可读flag = file.canRead();System.out.println("canRead:" + flag);// 判断文件是否隐藏flag = file.isHidden();System.out.println("isHidden:" + flag);// 判断抽象路径名表示的文件是否是一个标准文件flag = file.isFile();System.out.println("isFile:" + flag);// 判断抽象路径名表示的文件是否是一目录flag = file.isDirectory();System.out.println("isDirectory:" + flag);// 判断此抽象路径名是否为绝对路径flag = file.isAbsolute();System.out.println("isAbsolute:" + flag);}/** * 获取抽象路径名所对应的文件或目录的信息 * @param file * @throws IOException */public static void getFileInfo(File file) throws IOException {// FileNameString name = file.getName();System.out.println("name:" + name);// getPathString path = file.getPath();System.out.println("path:" + path);// getAbsolutePathString absPath = file.getAbsolutePath();System.out.println("absPath:" + absPath);// getParentPathString parPath = file.getParent();System.out.println("parPath:" + parPath);// lengthlong length = file.length();System.out.println("length:" + length);// lastModifiedlong time = file.lastModified();// getTotalSpacelong space = file.getTotalSpace();System.out.println("space:" + space);if (space > 1024 * 1024) {space = space / 1024 / 1024;System.out.println("space:" + space + "MB");} else {System.out.println("space:" + space);}String lastModified = DateFormat.getInstance().format(new Date(time));System.out.println("lastModified:" + lastModified);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");lastModified = sdf.format(new Date(time));System.out.println("lastModified:" + lastModified);}/** * 给文件重命名 * * @throws IOException */public static void rename() throws IOException {boolean flag = false;File file = new File("d:\\workspace\\notepad\\day20\\name.txt");flag = file.createNewFile();System.out.println("file.createNewFile:" + flag);File file1 = new File("d:\\workspace\\notepad\\day20\\rename.txt");flag = file.renameTo(file1);System.out.println("file.renameTo:" + flag);}//遍历目录public static void ergodicFile(File file) {File[] filesList = file.listFiles();for (File file1 : filesList) {if (file1.isDirectory()) {ergodicFile(file1);} else {System.out.println(file1);}}}//级联删除目录public static void removeDir(File dir) {File[] filesList = dir.listFiles();for (File file1 : filesList) {if (file1.isDirectory()) {removeDir(file1);} else {file1.delete();}}dir.delete();}//过滤获得指定格式文件并添加到集合public static void fileToList(File dir, List<File> list) {File[] files = dir.listFiles();for (File file1 : files) {if (file1.isDirectory()) {fileToList(file1, list);} else {if (file1.toString().endsWith(".java")) {list.add(file1);}}}}public static void listToTxt(List<File> list, File file) throws IOException {BufferedWriter bfw = null;try {bfw = new BufferedWriter(new FileWriter(file));for (File file1 : list) {String absPath = file1.getAbsolutePath();bfw.write(absPath);bfw.newLine();bfw.flush();}} catch (Exception e) {throw e;} finally {try {if (bfw != null) {bfw.close();}} catch (Exception e) {throw e;}}}}
---------------------- Android、Java开发期待与您交流! ----------------------
0 0
- 黑马程序员_Java基础_IO(3)
- 黑马程序员_Java基础_IO
- 黑马程序员_Java基础_IO(1)
- 黑马程序员_Java基础_IO(2)
- 黑马程序员_JAVA基础_IO流(一)
- 黑马程序员_JAVA基础_IO流(二)
- 黑马程序员_Java基础_IO(1)
- 黑马程序员_Java基础_IO(2)
- 黑马程序员_java基础_IO流
- 黑马程序员_java基础_io流
- 黑马程序员_Java基础_IO流(二)_19
- 黑马程序员_Java基础_IO流(三)_20
- 黑马程序员_Java基础_IO流(四)_21
- 黑马程序员_java基础学习笔记07_IO流
- 黑马程序员_java基础学习笔记08_IO流
- 黑马程序员_java基础学习笔记09_IO流
- 黑马程序员_Java学习日记14_IO流3
- 黑马程序员_java学习日记_IO流
- 大概的风格但如果地方个地方个地方个地方
- ORA-00942:表或视图不存在 低级错误一例
- hdoj2030 汉字的统计
- 富贵花地方个地方好的发挥独特和法规和风格
- Swift源码分析----swift-proxy与swift-account(1)
- 黑马程序员_Java基础_IO(3)
- 黑马程序员_Java基础加强1
- 政府的控制的科学的公开信刚李小龙周大福快高考
- 计费域的各个系统的关系
- 是DJ市政府将打开的公开信公开丁字裤工资卡朱古力复兴路
- SDJ招生简章大课间自动控制的顾客房子的进口自动控制的
- 黑马程序员_Java基础加强2
- NOSQL概述
- 黑马程序员_Java基础加强3