关于一个new File()问题。。。。 大家给看看 很简单

passer_ming 2008-09-22 11:46:00
String tempDirectory = "D:/lucene/dataaa/";
File file = new File(tempDirectory);

if (!file.isDirectory()) {
file.mkdir();
}

如果String tempDirectory = "D:/lucene/dat文件夹/"; 就建不上目录了
如何解决。。?

...全文
8796 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
dddgggfffhhhyyy 2011-12-13
  • 打赏
  • 举报
回复
创建文件用createNewFile(),创建目录用mkdir();
Fairy_dy 2010-03-25
  • 打赏
  • 举报
回复
不要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();
}
}

}
grape927 2008-11-13
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 passer_ming 的回复:]
谢谢sagezk的回答了阿

mkdirs()和mkdir()区别是什么啊
[/Quote]
很奇怪,我有个地方用mkdir就可以创建,
而另外一个地方用mkdir创建不了,要用mkdirs,真奇怪!
谢谢了!
qintao1203 2008-09-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sagezk 的回复:]
用 file.mkdirs(); 试试。
[/Quote]

正解!

yunyetui 2008-09-23
  • 打赏
  • 举报
回复
为什么不多查查API呢?
sagezk 2008-09-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 YOYOOOP 的回复:]
File file = new File(path);
这个是读取指定路径下的文件.不是创建。。。你理解错误.
[/Quote]

你看错了,楼主写 file.mkdir(); 了。
netwar 2008-09-22
  • 打赏
  • 举报
回复
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看看,
阿甘1976 2008-09-22
  • 打赏
  • 举报
回复
你先要确保D盘下有lucene目录,才能建dataaa目录
阿甘1976 2008-09-22
  • 打赏
  • 举报
回复
"D:/lucene/dataaa/";
改为:
"D:\\lucene\\dataaa\\";

YOYOOOP 2008-09-22
  • 打赏
  • 举报
回复
File file = new File(path);
这个是读取指定路径下的文件.不是创建。。。你理解错误.
JustLook_ 2008-09-22
  • 打赏
  • 举报
回复
你路径写错了
D:\a\b
应该为双杠
D:\\a\\b
如果你想要创建b目录
那么你的D盘必须有a目录
才可以创建b目录
我刚做完含有这个功能的ASP的项目
OA的上传下载文件
ChocooM 2008-09-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 sagezk 的回复:]
引用 10 楼 passer_ming 的回复:
如果String tempDirectory = "D:/lucene/dat文件夹/"; 就建不上目录了


主要问的是这个问题啊。。。。。。。。。。。


目录名有中文字符就创建不成功?
[/Quote]

如果是因为有中文而不能创建目录,你可以把中文转换成成unicode码,然后创建
sagezk 2008-09-22
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 passer_ming 的回复:]
谢谢sagezk的回答了阿

mkdirs()和mkdir()区别是什么啊
[/Quote]

d:/project/demo/test/ 假如要创建的 test 文件夹的父文件夹 project 和 demo 不存在,mkdir 不会执行任何操作,而 mkdirs 会把为了创建 test 而必须存在的 project 和 demo 自动创建出来再创建 test 本身。
passer_ming 2008-09-22
  • 打赏
  • 举报
回复
谢谢sagezk的回答了阿

mkdirs()和mkdir()区别是什么啊

sagezk 2008-09-22
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 passer_ming 的回复:]
不能通过设置编码格式解决吗

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/


[/Quote]

读的时候再将路径用相同编码 encode 一次后再读不行吗。
baobeituping 2008-09-22
  • 打赏
  • 举报
回复
File file = new File(filepath);

file.mkdirs();
记住是mkdirs而不是mkdir,有S的这个方法可以建立多级目录用的
sagezk 2008-09-22
  • 打赏
  • 举报
回复
22 23 楼的别看了。
sagezk 2008-09-22
  • 打赏
  • 举报
回复
static final String CHARSET = "UTF-8";
...
File file = new File(URLEncoder.encode("D:/lucene/dat文件夹/", CHARSET));
sagezk 2008-09-22
  • 打赏
  • 举报
回复
static final String CHARSET = "UTF-8";
...
FileInputStream stream = new FileInputStream(new File(URLEncoder.encode("D:/lucene/dat文件夹/", CHARSET)));
passer_ming 2008-09-22
  • 打赏
  • 举报
回复
怎么改写。。
给个例子
加载更多回复(15)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧