import java.io.File;public class Test3{
public static void main(String[] args){
File c = new File("test.txt");
if(c.exists()){
System.out.println("存在");
c.delete();
if(c.exists())
{
 c = new File("C:/Users/zhanyayun/Desktop/java/test.txt");
 System.out.println("budjlsj");
}

}
else
System.out.println("hello");
}}
为什么这个程序不输出 “存在”

解决方案 »

  1.   

    文件 第一次就不存在。你最好打印一下file.getAbsolutePath,看和你想的文件路径是不是一样的。
      

  2.   

    因为test.txt确实不存在于当前目录下
      

  3.   

    你在exists的时候,没有指定文件路径,所以默认的路径就是和源文件相同的目录,当此目录下没有此文件的时候,会在你下面指定的C:/Users/zhanyayun/Desktop/java/test.txt路径建立文件。简单的说,你在判断存在的时候和判断不存在创建文件的时候,所使用的文件路径是不一样的。解决办法,就是把两个路径统一了
      

  4.   

    因为你在当前目录下存在了test.txt文件 
    所以就打印存在了呗
      

  5.   

    建议用if(c.exists){...}else{...}
    看哪个语句块执行就知道有没有存在了!
      

  6.   

    不好意思,忘加括号了,if(c.exists()){...}else{...}
      

  7.   

    if(c.exists())
    {
    c = new File("C:/Users/zhanyayun/Desktop/java/test.txt");
    System.out.println("budjlsj");
    }存在都放“存在”的后面了。怎么存在?
      

  8.   

    你们说的都不对,其实我查了一下,是因为File方式建立的文件根本不存在,只有当像里面写东西时,才会存在。
      

  9.   

    因为File方式建立的文件根本不存在,只有当像里面写东西时,才会存在
      

  10.   

    File c = new File("test.txt"); //这个只是建立一个File 对象,并没有建立文件,所以不会创建文件的。c.createNewFile() //如果需要建立一个文件,需要使用这个方法。
      

  11.   

    根本没有进入if语句,楼主为简单起见不如在路径下先手动创建一个test.txt文件先