黑马程序员技术交流社区

标题: File类的小问题求助 [打印本页]

作者: G_wei    时间: 2011-9-5 20:40
标题: File类的小问题求助
[code=java]import java.io.*;
import java.util.*;
public class FileTest {
       
        /**
         * Method main
         *
         *
         * @param args
         *
         */
        public static void main(String[] args) {
                // TODO: 在这添加你的代码
                File f = new File("1.txt");
                if(f.exists())
                {
                        f.delete();
                }
                else
                {
                        try
                        {
                       
                        f.createNewFile();
                        }
                        catch(Exception e)
                        {
                                e.printStackTrace();
                        }
                }
                System.out.println("File name:" + f.getName());
                System.out.println("File path:" + f.getPath());
                System.out.println("File abs path:" + f.getAbsolutePath());
                System.out.println("File Parent:" + f.getParent());
                System.out.println(f.exists()?"exists":"not exists");
                System.out.println(f.canRead());
                System.out.println(f.isDirectory()?"directory":"not directory");
                System.out.print("File last modified:" + new Date(f.lastModified()));
        }       
}[/code]张老师讲的io第一讲中File一会存在一会不存在,搞迷糊了,求指导,求教育~
作者: 匿名    时间: 2011-9-5 21:16
这个不应该晕吧
{
存在1.txt
把1.txt删了
执行到下面打印语句就打印“不存在”(这边没有生成1.txt)
}
在执行一次程序
{
不存在1.txt
建一个1.txt
下面打印的语句就打印“存在”(这边没有生成1.txt)
}


这两段大括号标注的内容可以互换,根据你的目录下面有没有1.txt
作者: 匿名    时间: 2011-9-5 21:33
如果想了解一个程序的执行过程呢,可以在Eclipse中,设置断点调试,单步执行,来观察程序的执行过程。
    首先在Java 文件中设置断点,然后运行程序,程序走到断点就会转到debug 视图;
    然后按F5 或 F6 单步调试;

针对这个程序呢,可以在添加一行输出信息,可以帮助理解呢。。。[code=java]if (f.exists()){
                        f.delete();
                        [color=Red]System.out.println("******");[/color]                }else[/code]如果你的磁盘文件中存在了1.txt这个文件,就会执行if 条件下的语句,删除磁盘上已经存在的1.txt 这个文件,同时输出一行***,如果磁盘中没有1.txt 这个文件,程序调用createNewFile()方法,创建一个1.txt 文件。
作者: 匿名    时间: 2011-9-5 21:45
标题: 回复 沙发 的帖子
那就是说1.txt在执行完一次就存在,在执行一次就删除?我还以为执行完一次存在然后会自动删除的。。。谢谢大家了
作者: 匿名    时间: 2011-9-5 21:56
楼主要是还觉得有点晕,可以看毕向东老师的视频(第20天的第四个视频,我恰巧刚看到这儿),讲的清楚明了,幽默感十足。
作者: 匿名    时间: 2011-9-6 08:23
标题: 回复 楼主 的帖子
楼主您被老张搞糊涂了不解释,  
我从代码上面帮你解释一下好了

首先new一个假想的文件f

然后if 判断 看这个文件是否真实存在于硬盘上

如果有就删除,如果没有就创建一个

最后输出这个文件的信息
(存在 不存在 输出的信息也会不同)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2