回 帖 发 新 帖 刷新版面

主题:[讨论]File是用来创建文件或目录的吗

如果我想在本地硬盘上创建一个目录或者文件,是用File来实现吗?
下面的程序想在F盘的根目录下创建文件夹,程序可以编译通过也可以执行,但从运行结果来看好象第一个IF语句并没有执行,而且在F盘也没有任何新创建的文件,怎么回事呢?
代码如下:
import java.io.*;
class FileTest
{
    public static void main(String[] args)
    {
    try
    {
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    String sdir="f:\\音乐欣赏";
    String sfile;
    File dir1=new File(sdir);
    if(dir1.exists()&&dir1.isDirectory())
    {                                System.out.println("There is a directory "+sdir+" exists.");
        for(int i=0;i<dir1.list().length;i++)
        System.out.println((dir1.list())[i]);
        File dir2=new File("f:\\音乐欣赏\\班德瑞");
        if(!dir2.exists())
            dir2.mkdir();
        System.out.println("");
    System.out.println("Now the new list after create a new dir:");
    for(int i=0;i<dir1.list().length;i++)
        System.out.println((dir1.list())[i]);
    }
        System.out.println("Enter a file name in this directory:");
        sfile=br.readLine();
        File Ffile=new File(dir1,sfile);
        if(Ffile.isFile())
        {
            System.out.println("File "+sfile+" in Path "+Ffile.getPath()+" is "+Ffile.length()+" in length.");
        }
    }
    catch(IOException e)
    {
        e.printStackTrace();
    }
    }
}

回复列表 (共6个回复)

沙发


   期待有人回答~~~~

板凳

mkdir
public boolean mkdir()创建此抽象路径名指定的目录。 

返回:
当且仅当已创建目录时,返回 true;否则返回 false 
抛出: 
SecurityException - 如果存在安全管理器,且其 SecurityManager.checkWrite(java.lang.String) 方法不允许创建指定的目录


mkdirs
public boolean mkdirs()创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。注意,如果此操作失败,可能已成功创建了一些必需的父目录。 

返回:
当且仅当已创建该目录以及所有必需的父目录时,返回 true;否则返回 false 
抛出: 
SecurityException - 如果存在安全管理器,且其 SecurityManager.checkRead(java.lang.String) 方法不允许验证指定目录和所有必需的父目录是否存在;或者 SecurityManager.checkWrite(java.lang.String) 方法不允许创建指定的目录和所有必需的父目录


createNewFile
public boolean createNewFile()
                      throws IOException当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件。检查文件是否存在,如果不存在则创建该文件,这是单个操作,对于其他所有可能影响该文件的文件系统活动来说,该操作是原子的。 
注:此方法不应 用于文件锁定,因为所得到的协议可能无法可靠地工作。应该使用 FileLock 机制替代。 


返回:
如果指定的文件不存在并成功地创建,则返回 true;如果指定的文件已经存在,则返回 false 
抛出: 
IOException - 如果发生 I/O 错误 
SecurityException - 如果存在安全管理器,且其 SecurityManager.checkWrite(java.lang.String) 方法拒绝对文件进行写入访问


3 楼

File类是用来操作文件路径名问题的,不是用来创建文件的

4 楼

能说详细点吗,起什么作用?

5 楼


dir.createNewFile();

6 楼

你试试看

我来回复

您尚未登录,请登录后再回复。点此登录或注册