题目是:在目录下面见一个文件夹mydir1,再在mydir1下面建一个mydir2再在mydir2里面建立一个myfile.txt
import java.IO.*;
public class TestFile{
public static void main(String [] args){
  String separator=.separator;
  String filename="myfile.txt";
  String directory="mydir1"+separator+"mydir2";
  File f=new File(directory,filename);
  if(f.exits()){
   System.out.println("文件名:"+f.getAbsolutePath());
   System.out.println("文件大小:"+f.length());
  }else{
   f.getParentFile().mkdirs();
   try{
   f.createNewFile();
   }catch(IOException e){
   e.printStrackTrace();
   }
   }
  }
}

解决方案 »

  1.   

    应该先取得当然的目录才行呀.
    默认好像是JDK里的Bin路径吧
      

  2.   

    代码本身错误就多。
    找个IDE,免得哪么麻烦。
      

  3.   

    import java.io.*;  
    public class test{ 
    public static void main(String [] args){ 
      String separator=".separator"; 
      String filename="myfile.txt"; 
      String directory="mydir1"+separator+"mydir2"; 
      File f=new File(directory,filename); 
      if(f.exists()){ 
       System.out.println("文件名:"+f.getAbsolutePath()); 
       System.out.println("文件大小:"+f.length()); 
      }else{ 
       f.getParentFile().mkdirs(); 
       try{ 
       f.createNewFile(); 
       }catch(IOException e){ 
       e.printStackTrace(); 
       } 
       } 
      } 
    }
      

  4.   

    在Eclipse下默认路径是指你的工程路径。
    在非IDE下,一般的默认路径是指class的目录。
      

  5.   


    import java.io.*;public class Demo{
    public static void main(String[] args){
              String filename="myfile.txt"; 
              String path="E:/mydir1/mkdir2"; 
      try{
    File dir = new File(path); 
    if(!dir.exists())
    dir.mkdirs();

    File file=new File(path+File.separator+filename);
    if(!file.exists())
    file.createNewFile();
      }catch(Exception e){
    e.printStackTrace();
      }   System.out.println("Done");
        }
    }
      

  6.   

    可运行,仅供参考,推荐自己多看API,多动手!
      

  7.   


    import java.io.*;   
    class test{  
    public static void main(String [] args){  
      String separator="\\";  
      String filename="myfile.txt";  
      String directory="mydir1"+separator+"mydir2";  
      File f=new File(directory,filename);  
      if(f.exists()){  
       System.out.println("文件名:"+f.getAbsolutePath());  
       System.out.println("文件大小:"+f.length());  
      }else{  
       f.getParentFile().mkdirs();  
       try{  
       f.createNewFile();  
       }catch(IOException e){  
       e.printStackTrace();  
       }  
       }  
      }  
    }
    上面代码在我电脑是成功了,不知道是不是LZ要的效果
      

  8.   

    你呀 这一句有问题
    String separator=.separator; 
    应当是
    String separator=File.separator; 
    还有呀你的
     String directory="mydir1"+separator+"mydir2"; 
    这一句,,你
    directory 可存在呀,,
    加一句
    System.out.println(directory);
    看看可是你的路径呀,,
    遇到问题要学会去分析呀,,举一反三就好了
      

  9.   

    import java.io.*;public class Overloading {
    public static void main(String[] args) {
    String separator = ".separator";
    String filename = "myfile.txt";
    String directory = "mydir1" + separator + "mydir2";
    File f = new File(directory, filename);
    if (f.exists()) {
    System.out.println("文件名:" + f.getAbsolutePath());
    System.out.println("文件大小:" + f.length());
    } else {
    f.getParentFile().mkdirs();
    try {
    f.createNewFile();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    }
      

  10.   


    import java.io.File;public class Files {
       
        public static void main(String []args)
        {
           Files.setFilesName("d:/");
        }
        public static void setFilesName(String url){
            
            File file=new File(url);
            File[] fis =file.listFiles();
            
            for(int i=0;i<fis.length;i++){
                if(fis[i].isFile()){
                    System.out.println(fis[i].getName());
                }else{
                    Files.setFilesName(fis[i].getAbsolutePath());
                }
            }
        }
    }
      

  11.   

    public class TestFile {
    public static void main(String[] args) {
    String separator = File.separator;
    String filename = "myfile.txt";
    String directory = "mydir1" + separator + "mydir2";
    File f = new File(directory, filename);
    if (f.exists()) {
    System.out.println("文件名:" + f.getAbsolutePath());
    System.out.println("文件大小:" + f.length());
    } else {
    f.getParentFile().mkdirs();
    try {
    f.createNewFile();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    }改了一下,没有什么大问题.
    你的mydir1应该放当前目录下,和这个编译好的文件同目录就OK了.