* File类常用的构造方法:
* (1)File(String s);//由s确定File对象的文件名
* (2)File(String directory,String s);//由directory确定File对象的文件目录,由s确定文件名
* (3)File(File parent,String s);//根据一个父File对象和一个子文件/目录得到File对象
import java.io.File; /* * 要实现IO的操作,就必须知道硬盘上文件的表现形式 * Java就提供了一个File类 * * File类常用的构造方法: * (1)File(String s);//由s确定File对象的文件名 * (2)File(String directory,String s);//由directory确定File对象的文件目录,由s确定文件名 * (3)File(File parent,String s);//根据一个父File对象和一个子文件/目录得到File对象 * */ public class IntegerDemo { public static void main(String[] args) { File file1 = new File("E:\zikao\cs.txt");// 由s确定File对象的文件名 File file2 = new File("E:\zikao", "cs.txt");// 由directory确定File对象的文件目录,由s确定文件名 File file3 = new File("E:\zikao"); File file4 = new File(file3, "cs.txt");// 根据一个父File对象和一个子文件/目录得到File对象 } }
* 创建功能:
* public boolean createNewFile();//创建文件
* public boolean mkdir();//创建文件夹
* public boolean mkdirs();//创建文件夹,如果父文件夹不存在,将会创建出来
import java.io.File; import java.io.IOException; /* * 创建功能: * public boolean createNewFile();//创建文件 * public boolean mkdir();//创建文件夹 * public boolean mkdirs();//创建文件夹,如果父文件夹不存在,将会创建出来 * */ public class IntegerDemo { public static void main(String[] args) throws IOException { File file1 = new File("E:\zikao\file"); System.out.println("mkdir:" + file1.mkdir());// 创建文件夹 File file2 = new File("E:\zikao\file\file.txt"); System.out.println("createNewFile:" + file2.createNewFile());// 创建文件 File file3 = new File("E:\zikao\fileNo1\fileNo2\file"); System.out.println("createNewFile:" + file3.mkdirs());// 创建文件夹,如果父文件夹不存在,将会创建出来 } }
* 删除功能:
* public boolean delete();//创建文件
*
* 注意:
* A:如果创建文件或者文件夹时没有写上盘符路径,那么默认在项目路径
* B:Java的删除不走回收站
* C:要删除一个文件夹,该文件夹不能包含其他文件或者文件夹
import java.io.File; import java.io.IOException; /* * 删除功能: * public boolean delete();//创建文件 * * 注意: * A:如果创建文件或者文件夹时没有写上盘符路径,那么默认在项目路径 * B:Java的删除不走回收站 * C:要删除一个文件夹,该文件夹不能包含其他文件或者文件夹 * */ public class IntegerDemo { public static void main(String[] args) throws IOException { File file = new File("E:\zikao\file\file.txt"); System.out.println("mkdir:" + file.delete()); } }
* 重命名功能:
* public boolean renameTo(File dest);
*
* 如果路径相同,就是重命名
* 如果路径不相同,就是重命名并剪切
import java.io.File; import java.io.IOException; /* * 重命名功能: * public boolean renameTo(File dest);
* * 如果路径相同,就是重命名 * 如果路径不相同,就是重命名并剪切 * */ public class IntegerDemo { public static void main(String[] args) throws IOException { File file = new File("E:\zikao\file\cs.txt"); File newFile = new File("file.txt"); System.out.println("renameTo:" + file.renameTo(newFile)); } }
* 判断功能:
* public boolean isDirectory();//判断是否是目录
* public boolean isFile();//判断是否是文件
* public boolean exists();//判断是否存在
* public boolean canRead();//判断是否可读
* public boolean canWrite();//判断是否可写
* public boolean isHidden();//判断是否隐藏
package com.jacky; import java.io.File; import java.io.IOException; /* * 判断功能: * public boolean isDirectory();//判断是否是目录 * public boolean isFile();//判断是否是文件 * public boolean exists();//判断是否存在 * public boolean canRead();//判断是否可读 * public boolean canWrite();//判断是否可写 * public boolean isHidden();//判断是否隐藏 * */ public class IntegerDemo { public static void main(String[] args) throws IOException { File file = new File("E:\zikao\file\cs.txt"); System.out.println("isDirectory:" + file.isDirectory());// 判断是否是目录 System.out.println("isFile:" + file.isFile());// 判断是否是文件 System.out.println("exists:" + file.exists());// 判断是否存在 System.out.println("canRead:" + file.canRead());// 判断是否可读 System.out.println("canWrite:" + file.canWrite());// 判断是否可写 System.out.println("isHidden:" + file.isHidden());// 判断是否隐藏 } }
* 基本获取功能:
* public String getAbsolutePath();//获取绝对路径
* public String getPath();//获取相对路径
* public String getName();//获取名称
* public long length();//获取文件大小,字节数
* public long lastModified();//获取修改时间,毫秒值
import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; /* * 基本获取功能: * public String getAbsolutePath();//获取绝对路径 * public String getPath();//获取相对路径 * public String getName();//获取名称 * public long length();//获取文件大小,字节数 * public long lastModified();//获取修改时间,毫秒值 * */ public class IntegerDemo { public static void main(String[] args) throws IOException { File file = new File("E:\zikao\file"); System.out.println("getAbsolutePath:" + file.getAbsolutePath());// 获取绝对路径 System.out.println("getPath:" + file.getPath());// 获取相对路径 System.out.println("getName:" + file.getName());// 获取名称 System.out.println("length:" + file.length());// 获取文件大小,字节数 System.out.println("lastModified:" + file.lastModified());// 获取修改时间,毫秒值 Date d = new Date(file.lastModified()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String s = sdf.format(d); System.out.println(s); } }
* 高级获取功能:
* public String[] list();//获取指定目录下的所有文件或者文件夹的名称数组
* public File[] listFiles();//获取指定目录下的所有文件或者文件夹的File数组
import java.io.File; import java.io.IOException; /* * 高级获取功能: * public String[] list();//获取指定目录下的所有文件或者文件夹的名称数组 * public File[] listFiles();//获取指定目录下的所有文件或者文件夹的File数组 * */ public class IntegerDemo { public static void main(String[] args) throws IOException { File file = new File("E:\zikao"); String strArray[] = file.list();// 获取指定目录下的所有文件或者文件夹的名称数组 for (String s : strArray) { System.out.println(s); } System.out.println("----------"); File fileArray[] = file.listFiles();// 获取指定目录下的所有文件或者文件夹的File数组 for (File f : fileArray) { System.out.println(f); } } }
第1种方法:
/*
* 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
*
* 分析:
* A:封装E判断目录
*
* B:获取该目录下所有文件或者文件夹的File数组
*
* C:遍历该File数组,得到每一个File对象,然后判断
*
* D:是否是文件
* 是:继续判断是否以.jpg结尾
* 是:就输出该文件名称
* 否:跳过
* 否:跳过
* */
import java.io.File; import java.io.IOException; /* * 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称 * * 分析: * A:封装E判断目录 * * B:获取该目录下所有文件或者文件夹的File数组 * * C:遍历该File数组,得到每一个File对象,然后判断 * * D:是否是文件 * 是:继续判断是否以.jpg结尾 * 是:就输出该文件名称 * 否:跳过 * 否:跳过 * */ public class IntegerDemo { public static void main(String[] args) throws IOException { // A:封装E判断目录 File file = new File("E:\"); // B:获取该目录下所有文件或者文件夹的File数组 File fileArray[] = file.listFiles();// 获取指定目录下的所有文件或者文件夹的File数组 // C:遍历该File数组,得到每一个File对象,然后判断 for (File f : fileArray) { if ((f.isFile()) && (f.getName().endsWith(".jpg"))) { System.out.println(f.getName()); } else { continue; } } } }
第2种方法:
/*
* 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
*
* 获取符合条件的文件,并输出
*
* 要想实现这个效果,就必须使用一个接口:文件名称过滤器
* public String[] list(FilenameFilter filter);
* public File[] listFiles(FilenameFilter filter);
* */
import java.io.File; import java.io.FilenameFilter; /* * 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称 * * 获取符合条件的文件,并输出 * * 要想实现这个效果,就必须使用一个接口:文件名称过滤器 * public String[] list(FilenameFilter filter); * public File[] listFiles(FilenameFilter filter); * */ public class IntegerDemo { public static void main(String[] args) { File file = new File("E:\"); String strArray[] = file.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { // TODO Auto-generated method stub File file = new File(dir, name); boolean flag = file.isFile() && name.endsWith(".jpg"); return flag; } }); for (String s : strArray) { System.out.println(s); } } }
* 要求:把E:\目录下所有的.jpg结尾的文件的绝对路径输出
*
* 分析:
* A:封装目录
* B:获取该目录下所有的文件或者文件夹的File数组
* C:遍历该File数组,得到每一个File对象
* D:判断该File对象是否是文件夹
* 是:回到B
* 否:继续判断是否是以结尾
* 是:就输出该文件的绝对路径
* 否:跳过
import java.io.File; /* * 要求:把E:\目录下所有的.jpg结尾的文件的绝对路径输出 * * 分析: * A:封装目录 * B:获取该目录下所有的文件或者文件夹的File数组 * C:遍历该File数组,得到每一个File对象 * D:判断该File对象是否是文件夹 * 是:回到B * 否:继续判断是否是以结尾 * 是:就输出该文件的绝对路径 * 否:跳过 * */ public class IntegerDemo { public static void main(String[] args) { File srcFolder = new File("E:\zikao"); getAllJpgFilePaths(srcFolder); } public static void getAllJpgFilePaths(File srcFolder) { File fileArray[] = srcFolder.listFiles(); for (File file : fileArray) { if (file.isDirectory()) { getAllJpgFilePaths(file); } else { if (file.getName().endsWith(".jpg")) { System.out.println(file.getAbsolutePath()); } } } } }
/*
* 要求:递归删除带内容的目录
*
* 分析:
* A:封装目录
* B:获取该目录下所有的文件或者文件夹的File数组
* C:遍历该File数组,得到每一个File对象
* D:判断该File对象是否是文件夹
* 是:回到B
* 否:删除
* */
import java.io.File; /* * 要求:递归删除带内容的目录 * * 分析: * A:封装目录 * B:获取该目录下所有的文件或者文件夹的File数组 * C:遍历该File数组,得到每一个File对象 * D:判断该File对象是否是文件夹 * 是:回到B * 否:删除 * */ public class IntegerDemo { public static void main(String[] args) { File srcFolder = new File("E:\zikao"); deleteFolder(srcFolder); } public static void deleteFolder(File srcFolder) { File fileArray[] = srcFolder.listFiles(); for (File file : fileArray) { if (file.isDirectory()) { deleteFolder(file); } else { System.out.println(file.getName() + "------" + file.delete()); } } System.out.println(srcFolder.getName() + "------" + srcFolder.delete()); } }
* 计算机如何识别什么时候该把两个字节转换为一个汉字呢?
*
* 在计算机中中文的存储需要两个字节:
* 第一个字节肯定是负数。
* 第二个字节不一定。
import java.io.IOException; import java.util.Arrays; /* * 计算机如何识别什么时候该把两个字节转换为一个汉字呢? * * 在计算机中中文的存储需要两个字节: * 第一个字节肯定是负数。 * 第二个字节不一定。 * */ public class IntegerDemo { public static void main(String[] args) throws IOException { String s = "我爱你"; byte bys[] = s.getBytes(); System.out.println(Arrays.toString(bys));// [-50, -46, -80, -82, -60, -29] } }