String tempDirectory = "D:/lucene/dataaa/";
File file = new File(tempDirectory);

if (!file.isDirectory()) {
file.mkdir();
}
 
 如果String tempDirectory = "D:/lucene/dat文件夹/"; 就建不上目录了
 如何解决。。? 

解决方案 »

  1.   

    File file = new File(path);
    这个是读取指定路径下的文件.不是创建你理解错误.
      

  2.   

    "D:/lucene/dataaa/"; 
    改为:
    "D:\\lucene\\dataaa\\"; 
      

  3.   

    你先要确保D盘下有lucene目录,才能建dataaa目录
      

  4.   

    String tempDirectory = "D:/lucene/dataaa/";
    File file = new File(tempDirectory);if (!file.isDirectory()) {
    file.mkdir();
    } 改成这样的
    String tmpDirectory="D://test";
    File file=new File(tmpDirectory);
    if(!file.exist()){
     file.create();//
    }你查查api看看,
      

  5.   


    你看错了,楼主写 file.mkdir(); 了。
      

  6.   


    File 类根本没 create() 这个方法,倒是有个 createNewFile() 方法,但它是创建文件的,而楼主要创建文件夹。
      

  7.   


    再有 File 类根本不是用来读文件的,它可以表示一个存在或不存在的抽象文件或文件夹(更准确的叫法是抽象路径)。要对文件内容读写得用 FileInputStream、FileOutputStream、FileReader、FileWriter 等类。
      

  8.   


    Windows(至少 Windows XP)下分隔符用 / \ 都行,这里用 / 来分隔就是为了避免写一大堆 \\ 看着乱写着麻烦。
      

  9.   

    用 file.mkdirs(); 试试。
      

  10.   

    如果String tempDirectory = "D:/lucene/dat文件夹/"; 就建不上目录了 
    主要问的是这个问题啊。。
      

  11.   

    String tempDirectory = "D:/lucene/dat文件夹/";
    File file = new File(tempDirectory);
    file.mkdirs();
      

  12.   


    那就对了,你的操作系统本身不支持中文的字符集,没办法通过修改 Java 程序解决,给你的系统安装个中文的语言包能解决。
      

  13.   

    不能通过设置编码格式解决吗String str = URLEncoder.encode("D:/lucene/dat文件夹/","UTF-8");
    这样就可以建了
    但我读这个目录的时候FileInputStream stream = new FileInputStream(new File("D:/lucene/dat文件夹/"));就出错了因为D:/lucene/dat文件夹/变成了D:/lucene/datE6%98%8E%E6%B5%B7/
      

  14.   

    把文件路径本身用UTF-8编码,不是URL编码.
      

  15.   

    static final String CHARSET = "UTF-8";
    ...
    FileInputStream stream = new FileInputStream(new File(URLEncoder.encode("D:/lucene/dat文件夹/", CHARSET)));
      

  16.   

    static final String CHARSET = "UTF-8";
    ...
    File file = new File(URLEncoder.encode("D:/lucene/dat文件夹/", CHARSET));
      

  17.   

    File file = new File(filepath);file.mkdirs();
    记住是mkdirs而不是mkdir,有S的这个方法可以建立多级目录用的
      

  18.   


    读的时候再将路径用相同编码 encode 一次后再读不行吗。
      

  19.   

    谢谢sagezk的回答了阿mkdirs()和mkdir()区别是什么啊
      

  20.   


    d:/project/demo/test/ 假如要创建的 test 文件夹的父文件夹 project 和 demo 不存在,mkdir 不会执行任何操作,而 mkdirs 会把为了创建 test 而必须存在的 project 和 demo 自动创建出来再创建 test 本身。
      

  21.   


    如果是因为有中文而不能创建目录,你可以把中文转换成成unicode码,然后创建
      

  22.   

    你路径写错了
    D:\a\b
    应该为双杠
    D:\\a\\b
    如果你想要创建b目录
    那么你的D盘必须有a目录
    才可以创建b目录
    我刚做完含有这个功能的ASP的项目
    OA的上传下载文件
      

  23.   

    很奇怪,我有个地方用mkdir就可以创建,
    而另外一个地方用mkdir创建不了,要用mkdirs,真奇怪!
    谢谢了!
      

  24.   

    不要UTF-8什么的,下面的就可以实现import java.io.File;public class FileTest
    {
        public static void main(String[] args)
        {
    String tmpDirectory="D:\\文件夹1";
    File file=new File(tmpDirectory);
    if(!file.exists())
    {
      file.mkdir();   
    }
        }}
      

  25.   

    创建文件用createNewFile(),创建目录用mkdir();