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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.io.*;
  2. /*
  3. File类常见方法:
  4. 1、创建;
  5.         boolea createNewFile();在制定位置创建文件,如果文件已经创建,则不创建,返回false
  6.         和输出流不一样,输出流对象以建立文件,而且文件已经存在,则覆盖
  7.         static File createTempFile(String prefix, String suffix)
  8.         临时文件XXX.tmp

  9.         mkdir()根据指定的file路径创建1级目录//不用抛异常
  10.         mkdirs()创建多级文件夹
  11. 2、删除
  12.         boolean delete()
  13.         void deleteOnExit()即使发生异常 JVM也能关掉file,在程序退出时删除指定文件

  14. 3、判断
  15.         boolean canExecute() 能否被执行
  16.         boolean exists()文件是否存在
  17.         boolean isAbsolute()  判断是否为绝对路径
  18.         boolean isHidden() 判断是否隐藏  JAVA无法读取影藏文件
  19.         boolean isFile()  测试此抽象路径名表示的文件是否是一个标准文件。
  20.         boolean isDirectory() 判断是否为路径

  21. 4、获取信息
  22.         String getName()
  23.         String getParent() //该方法返回的是绝对路径中的文件父目录,如果是相对路径,返回null
  24.                 //如果相对路径有上一层目录那么该目录就是返回的结果。
  25.         File getParentFile()
  26.         String getPath()
  27.         String getAbsolutePath() 返回绝对路径字符串
  28.         File getAbsoluteFile()  返回绝对路径对象
  29.         long lastModified() //返回最后一次修改的时间
  30.         long length() //返回文件的长度


  31. */       

  32. class  FileDemo
  33. {
  34.         public static void main(String[] args) throws IOException
  35.         {
  36.                 //System.out.println("Hello World!");
  37.                 method_5();
  38.                 //method_3();
  39.                 //method_2();
  40.                 //method_1();
  41.         }
  42.         public static void method_1()throws IOException
  43.         {
  44.                 File f=new File("c:/file.txt");
  45.                 f.deleteOnExit();
  46.                 sop("creat:"+f.createNewFile());
  47.                 sop("delete:"+f.delete());

  48.         }
  49.         public static void method_2()
  50.         {
  51.                 File f=new File("c:/file.txt");
  52.                 //sop("creat:"+f.createNewFile());
  53.                 //sop("exists:"+f.exists());
  54.                 //sop("execute:"+f.canExecute());

  55.                 //创建文件夹
  56.                 File f2=new File("c:/abc/AD/DDW/www/dwd");
  57.                 sop("mkdir:"+f2.mkdirs());
  58.         }
  59.         public static void method_3()throws IOException
  60.         {
  61.                 File f=new File("c:/file.txt");
  62.                 //记住判断一文件对象是否是文件或者目录时,必须要先判断该文件对象封装的
  63.                 f.createNewFile();
  64.                 f.mkdirs();
  65.                 sop("dir:"+f.isDirectory());
  66.                 sop("file:"+f.isFile());
  67.         }
  68.         public static void method_4()
  69.         {
  70.                 File f=new File("c:/a.txt");

  71.                 sop("path:"+f.getPath());
  72.                 sop("abspath:"+f.getAbsolutePath());
  73.                 sop("parent:"+f.getParent());
  74.         }
  75.         public static void method_5()throws IOException
  76.         {
  77.                 File f1=new File("c:\\Test.txt");
  78.                 f1.createNewFile();
  79.                 File f2=new File("c:\\haha.txt");
  80.                 f2.createNewFile();
  81.                 sop("rename:"+f2.renameTo(f1));
  82.         }
  83.         public static void sop(Object obj)
  84.         {
  85.                 System.out.println(obj);
  86.         }
  87. }
复制代码
method_5()方法中如果调用了createNewFile()创建文件,则不会renameTo成功,我试了好像必须文件已经存在才能renameTo,求解!

1 个回复

倒序浏览
public boolean renameTo(File dest)重新命名此抽象路径名表示的文件。
此方法行为的许多方面都是与平台有关的:重命名操作无法将一个文件从一个文件系统移动到另一个文件系统,该操作不是不可分的,如果已经存在具有目标抽象路径名的文件,那么该操作可能无法获得成功。应该始终检查返回值,以确保重命名操作成功。
你把f1文件创建的代码注释掉就可以了。这个不是移动而是从新命名。

一个目录
下不能存在2个

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马