主题:[讨论]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();
}
}
}
下面的程序想在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();
}
}
}