在Java中的file类一个小问题??

来源:百度知道 编辑:UC知道 时间:2024/06/17 17:09:51
请高手帮忙看下以下代码是否有问题??
我的目的是想在G:下创建一个work目录,并在目录中创建一个HelloWorld.java文件,可为什么运行结果却是:
newDir没有引用了一个目录
HelloWorld.java文件不存在
HelloWorld.java文件不可读
HelloWorld.java文件不可写

package practice;
import java.io.*;

public class IoTest
{
public static void main(String args[])
{
File newDir=new File("G:\\work");
if(newDir.isDirectory())
{
System.out.println("newDir引用了一个目录");
}
else
{
System.out.println("newDir没有引用了一个目录");
}
File newFile=new File(newDir,"HelloWorld.java");
if(newFile.exists())
{
System.out.println("HelloWorld.java文件存在");
}
else
{
System.out.println("HelloWorld.java文件不存在");
}
if(newFile.canRead())
{
System.out.println("HelloWorld.java文件可读");
}
else
{
System.out.println(&q

你仅仅是创建了File对象,而没有调用它的createNewFile()方法,当然不会在系统中创建目录或文件了,建议你对代码做更改:
... ...
File newDir=new File("G:\\work");
newDir.createNewFile();
... ...
File newFile=new File(newDir,"HelloWorld.java");
newFile.createNewFile();
... ...

建议你去网上下载个中文的API,并查找File类中的方法。你会发现FILE类中的构造方法只是产生了一个对某文件路径的一个引用,所谓构造方法就是你所用的File xx=new File("xx")的这个方法。该方法不负责创建新目录,也不负责对该目录是否存在进行考证。仅仅是一个对该目录的引用。
要想创建一个新目录,应用如下格式:
File newFilepath=new File("C:/newfile");//如果想创建一个文件,扩展名需要提前指定。该语句中的newfile可以用作目录也可用作文件,编译器此时尚不知道该目录(路径)是否存在。实际上什么都没做。
创建一个目录:
newFilepath.mkdir();//即调用对象newFilepath的mkdir()方法。若要新建一个文件而非目录,需要指定扩展名。形式如下:
newFilepath.creatNewFile();//该语句中newFilepath对象的路径最好指定扩展名,如a.b。否则将创建出一个无扩展名的文件。

综上,奉劝lz最好去下载个中文的API,否则以后这种问题将带给你极大的困扰。

给1楼加分

这个不懂哈哈 !嘿嘿 不好意思 哈!