File类实例什么时候在目录中创建文件?
代码如下:
File javaFile = new File( "E:\\javaFile.txt ");
try
{
//if (javaFile.isFile())
//{
// System.out.println( "文件已存在! ");
//}
if (javaFile.exists())
{
System.out.println( "文件已存在! ");
}
else
{
//javaFile.createNewFile();
//System.out.println( "文件创建成功! ");
}
PrintWriter printWriter = new PrintWriter(javaFile);
printWriter.println( "Hello world! ");
printWriter.close();
}
catch (
IOException e1)
{
e1.printStackTrace();
}
发现即便不createNewFile,只要在javaFile里写hello world,程序就会自动在目录下生成javaFile.txt。
所以想求教一下file生成文件的机制?
另外问一下大虾们,isFile这个方法,从api说明里看,好像只是判断file实例是directory还是normal file,但我实验的结果是,它还检查该实例是否已经生成文件?请大虾证实一下是否有这样的机制?
谢谢!
------解决方案--------------------File javaFile = new File( "E:\\javaFile.txt ");
这个时候就建立文件了
------解决方案--------------------File javaFile = new File( "E:\\javaFile.txt ")是在内存中创建,还没开始写到磁盘,createNewFile是真正开始写入磁盘
------解决方案--------------------你往不存在的文件里写数据的时候 文件才会被建立 而不是你声明File类的实例的时候 就建立