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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄金龙 中级黑马   /  2013-1-27 13:58  /  1847 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张向辉 于 2013-1-30 11:19 编辑
  1.         void fileFunction() throws IOException
  2.         {
  3.                 String s = "r:\\1.txt";
  4.                 File f = new File(s);
  5.                 System.out.println(f.mkdir());//为什么这里创建了下面就不创建了
  6.                 System.out.println(f.createNewFile());
  7.                
  8.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1

查看全部评分

9 个回复

倒序浏览
  1. import java.io.File;
  2. import java.io.IOException;


  3. public class FileTest {

  4.         /**
  5.          *          * @param args
  6.          * @throws IOException
  7.          */
  8.         public static void main(String[] args) throws IOException {
  9.                 // TODO Auto-generated method stub
  10.              String s = "d:\\11";
  11.                 File f = new File(s);
  12.                // System.out.println("1"+f.mkdir());//这里创建的是文件夹 不是文件
  13.                 System.out.println("2"+f.createNewFile());//JDK1.6提示:当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。   
  14.         }
  15. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

回复 使用道具 举报
  1. 写入文件的过程便是创建文件的过程。当我们以指定的目标打开一个输出流时,new FileOutputStream(String FileName)即意味着创建一个以FileName命名的新文件,除非指定以追加方式打开已经存在的文件,否则均意味着创建一个新文件或者清空同名的旧文件。
  2. 从以上的说明可以看出创建文件方式有两种:

  3. 1. new FileOutputStream(String FileName),注意没有指定构造方法的第二个boolean类型的参数,
  4. new FileOutputStream(String FileName,boolean falg),意味着在FileName原文件上进行追加写操作,有兴趣的朋友可以试着操作一下。
  5.   
  6. 2.File f=new File(String FileName)

  7. Boolean falg=f.createNewFile().如果指定的文件不存在并成功创建则返回true,否则返回false.
  8. 目录创建
  9. File.mkdirs()方法创建目录,该方法允许一次性创建多级目录,例如new File(“c:\\1\\2”).mkdirs();同时创建目录1和目录2.如果目录1存在将不被重新创建。
  10. File.mkdir()与mkdirs()不同在于mkdir()只能创建一级目录。而mkdirs()在需要时会自动创建上级目录。
  11. import java.io.File;
  12. /**
  13. *
  14. *此类演示文件的创建于删除
  15. *
  16. *author:yehaizi
  17. *
  18. */
  19. public class Files
  20. {
  21. /*
  22. *此路径目录1和目录2均不存在
  23. *当调用mkdir()方法时目录2创建不成功返回False
  24. *当调用mkdirs()方法时目录1,目录2创建成功,返回true.
  25. *如果目录1中存在,只创建目录2.
  26. *
  27. */
  28. public static File fileDis=new File("D:\\Java\\Javaart\\javaSE\\javaIo\\1\\2");

  29. //演示createNewFile()方法创建新文件。
  30. public static File fileF=new File("D:\\Java\\Javaart\\javaSE\\javaIo\\1\\2\\a.txt");

  31. public static void main(String[] arges)
  32. {
  33.    try
  34.    {
  35.     //目录1和目录2同时被创建。如果目录1存在只创建目录2
  36.     boolean falg1=fileDis.mkdirs();
  37.     //目录创建不成功mkdir()方法不会创建上一级目录,即目录1
  38.     boolean falg2=fileDis.mkdir();
  39.     //如果a.txt文件不存在将被创建,前提父级目录存在,否则抛出IOException异常。提示系统指定路径不存在。
  40.     //如果此处调用mkdirs方法将创建a.txt为目录。
  41.     boolean falg=fileF.createNewFile();
  42.    
  43.    
  44.     //测试输出
  45.     if(falg1)
  46.     {
  47.      System.out.println("mkdirs方法创建目录成功");
  48.     }
  49.     else
  50.     {
  51.      System.out.println("mkdirs方法创建目录失败");
  52.     }
  53.    
  54.     if(falg2)
  55.     {
  56.      System.out.println("mkdir方法创建目录成功");
  57.     }
  58.     else
  59.     {
  60.      System.out.println("mkdir方法创建目录失败");
  61.     }
  62.    
  63.    
  64.     if(falg)
  65.     {
  66.      System.out.println("createNewFile方法创建文件成功");
  67.     }
  68.     else
  69.     {
  70.      System.out.println("createNewFile方法创建文件失败");
  71.     }
  72.    }
  73.    catch(java.io.IOException ex)
  74.    {
  75.     ex.printStackTrace();
  76.    
  77.     }

  78.   
  79. }
  80. }
复制代码
回复 使用道具 举报
闵华勇 发表于 2013-1-27 14:11

没解释明白....我的意思为什么不执行第二个操作...一个是文件夹的创建一个是文件的创建
回复 使用道具 举报
luck28 发表于 2013-1-27 14:24

解释的看的头晕.......我是想问为什么不执行第二个.
回复 使用道具 举报
黄金龙 发表于 2013-1-27 14:33
解释的看的头晕.......我是想问为什么不执行第二个.

文件已经存在了,就不会再创建了。
回复 使用道具 举报
黄金龙 发表于 2013-1-27 14:32
没解释明白....我的意思为什么不执行第二个操作...一个是文件夹的创建一个是文件的创建 ...

我的意思是说mkdir()已在此路径下创建了此抽象路径指定的文件,第二个肯定会返回false.
回复 使用道具 举报
f.createNewFile() 我没有查源码,我觉得这个方法应该是只判断抽象路径,不判断抽象路径指的是文件夹或者文件,只要包装的这个抽象路径存在,应该就返回false,反则返回true,并创建一个指定虚拟路径的文件。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马