A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© Kevin.Kang 高级黑马   /  2015-7-23 11:43  /  363 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

File构造方法:
  1. package com.kxg.file;

  2. import java.io.File;

  3. /*
  4. * File类:
  5. *                 文件和目录路径名的抽象表示形式。
  6. * 构造方法:
  7. *                 public File(String pathname):根据路径得到File对象
  8. *                 public File(String parent,String child):根据一个目录和一个子文件/目录得到File对象
  9. *                 public File(File parent,String child):根据一个父File对象和一个子文件/目录得到File对象
  10. *
  11. *                 三种构造方法结果都是一样的,用第一个构造方法即可。
  12. */
  13. public class FileDemo {
  14.         public static void main(String[] args) {
  15. //                public File(String pathname)
  16. //                把xiaoguang.java封装成为一个File对象。
  17.                 File f =new File ("D:\\Demo\\xiaoguang.java");
  18.                
  19. //                public File(String parent,String child)
  20.                 File f2 = new File("D:\\Demo","xiaoguang.java2");
  21.                
  22. //                public File(File parent,String child)
  23.                 File f3 = new File("D:\\Demo");
  24.                 File f4 = new File(f3,"xiaoguang.java3");               
  25.         }
  26. }
复制代码



11 个回复

倒序浏览
本帖最后由 Kevin.Kang 于 2015-7-23 14:05 编辑

创建功能:
  1. package com.kxg.file;

  2. import java.io.File;
  3. import java.io.IOException;

  4. /*
  5. * File类创建功能:
  6. *                 public boolean createNewFile():创建文件,如果存在不创建
  7. *                 public boolean mkdir():创建文件夹,如果存在就不创建
  8. *                 public boolean mkdirs():创建文件夹,如果上级文件夹不存在,直接创建
  9. *
  10. * File类的删除功能:
  11. *                 public boolean delete()
  12. *         注意:如果创建文件或者文件夹的时候,忘记写盘符路径,默认在项目路径下。
  13. *                 java中删除不走回收站
  14. *                 不能删除非空文件夹
  15. */
  16. public class FileDemo2 {
  17.         public static void main(String[] args) throws IOException {
  18.                 // 创建文件夹
  19.                 File f = new File("D:\\Test");
  20.                 System.out.println(f.mkdir());

  21.                 // 在已存在文件夹内创建文件
  22.                 File f2 = new File("D:\\Test\\xiaoguang.java");
  23.                 System.out.println(f2.createNewFile());

  24.                 // 同时创建不存在的文件夹和文件
  25.                 // 出错提示:系统找不到指定的路径,不能同时创建文件夹和文件,必须先创建目录才能在此目录中创建文件
  26.                 // File f3 = new File("D:\\Test2\\xiaoguang.java");
  27.                 // System.out.println(f3.createNewFile());

  28.                 // 同时创建不存在的文件夹
  29.                 // 返回false,说明创建失败,同样也是因为上级文件夹不存在。
  30.                 File f4 = new File("D:\\Test2\\Test3");
  31.                 System.out.println(f4.mkdir());

  32.                 // public boolean mkdirs()
  33.                 File f5 = new File("D:\\Test2\\xiaoguang.java");
  34.                 System.out.println(f5.mkdirs());
  35.                 // 需要注意:mkdirs只能创建文件夹,xiaoguang.java不是文件,而是一个以这个命名的文件夹
  36.                 // 创建文件夹和文件需要分为两个步骤才能完成。
  37.                 File f6 = new File("D:\\Test2\\xiaoguang.java\\xiaoguang.java");
  38.                 System.out.println(f6.createNewFile());

  39.                 // public boolean delete()
  40.                 f6.delete();
  41.         }
  42. }
复制代码



回复 使用道具 举报
重命名功能:
  1. package com.kxg.file;

  2. import java.io.File;
  3. import java.io.IOException;

  4. /*
  5. * File类的重命名功能:
  6. *                 public boolean renameTo(File dest)
  7. *
  8. * 绝对路径:有盘符,路径名完整的路径。
  9. * 相对路径:没有盘符,相对于java程序的路径,在项目中。
  10. *
  11. * 做重命名操作时,路径相同,就重命名。
  12. * 如果不相同重命名执行了两个操作:
  13. *                         1.重命名
  14. *                         2.剪切到绝对路径下
  15. */
  16. public class FileDemo3 {
  17.         public static void main(String[] args) throws IOException {
  18. //                封装文件
  19.                 File f = new File("xiao.txt");
  20.                
  21. //                封装新文件名
  22.                 File f2 = new File("guang.avi");
  23.                 f.renameTo(f2);
  24.                 File f3 = new File("D:\\Test\\xiao.exe");
  25.                 f2.renameTo(f3);
  26.         }
  27. }
复制代码



回复 使用道具 举报
本帖最后由 Kevin.Kang 于 2015-7-28 14:57 编辑

判断功能:
  1. package com.kxg.file;

  2. import java.io.File;
  3. import java.io.IOException;

  4. /*
  5. * File类的判断功能:
  6. *                 public boolean isDirectory():是否是一个目录
  7. *                 public boolean isFile():是否是一个标准文件
  8. *                 public boolean exists():文件或目录是否存在
  9. *                 public boolean canRead():是否可以读取
  10. *                 public boolean canWrite():是否可以写入
  11. *                 public boolean isHidden():是否隐藏
  12. *
  13. */
  14. public class FileDemo4 {
  15.         public static void main(String[] args) throws IOException {
  16.                 File f = new File("xiao.pdf");
  17.                 f.createNewFile();
  18.                 System.out.println(f.isDirectory());
  19.                 System.out.println(f.isFile());
  20.                 System.out.println(f.exists());
  21.                 System.out.println(f.canRead());
  22.                 System.out.println(f.canWrite());
  23.                 System.out.println(f.isHidden());
  24.         }
  25. }
复制代码



回复 使用道具 举报
赞赞
回复 使用道具 举报
很不错阿~
回复 使用道具 举报
获取功能:
  1. package com.kxg.file;

  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Date;

  6. /*
  7. * File类的获取功能:
  8. *                 public File getAbsoluteFile():获取绝对路径
  9. *                 public String getPath():获取相对路径
  10. *                 public String getName():获取名称
  11. *                 public long length():获取长度(字节数)
  12. *                 public long lastModified():最后修改时间(毫秒值)
  13. *                
  14. */
  15. public class FileDemo5 {
  16.         public static void main(String[] args) throws IOException {
  17.                 File f = new File("xiao.jpg");

  18.                 // public File getAbsoluteFile():获取绝对路径
  19.                 System.out.println(f.getAbsolutePath());

  20.                 // public String getPath():获取相对路径
  21.                 System.out.println(f.getParent());

  22.                 // public String getName()
  23.                 System.out.println(f.getName());

  24.                 // public long length()
  25.                 System.out.println(f.length());

  26.                 // public long lastModified()
  27.                 Date d = new Date(f.lastModified());
  28.                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  29.                 System.out.println(sdf.format(d));
  30.         }
  31. }
复制代码



回复 使用道具 举报
小康啊  你这么拼让我们怎么办
回复 使用道具 举报
高级获取功能:
  1. package com.kxg.file;

  2. import java.io.File;

  3. /*
  4. * File类的高级获取功能:
  5. *                 public String[] list():获取指定目录下的所有文件和文件夹的名称数组
  6. *                 public File[] listFiles():获取指定目录下的所有文件和文件夹的File对象数组
  7. */
  8. public class FileDemo6 {
  9.         public static void main(String[] args) {
  10.                 // 封装目录
  11.                 File f = new File("D://Test");

  12.                 // 得到此目录下所有文件夹和文件的名称数组
  13.                 String[] arr = f.list();

  14.                 // 遍历得到每个文件夹和文件的名称字符串
  15.                 for (String s : arr) {
  16.                         System.out.println(s);
  17.                 }
  18.                 System.out.println("===============");

  19.                 // 得到此目录下所有文件夹和文件的File对象数组
  20.                 File[] arr2 = f.listFiles();

  21.                 // 遍历File数组
  22.                 for (File name : arr2) {
  23.                         System.out.println(name.getName());
  24.                 }
  25.         }
  26. }
复制代码



回复 使用道具 举报
life木子飞 发表于 2015-7-23 16:25
小康啊  你这么拼让我们怎么办

你是用什么写的??editplus还是eclipse?
回复 使用道具 举报
life木子飞 发表于 2015-7-23 16:34
你是用什么写的??editplus还是eclipse?

eclipse,用着比editplus方便多了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马