iteye_1350 2012-11-06 13:16
浏览 234
已采纳

请教关于File.mkdir让线程等待直到文件夹创建完成的方法

现在程序有这样一个需求:
1、创建一个文件夹
2、往文件夹里写文件
但是当执行
File f = new File(path);
f.mkdir();
时往里写东西,在执行完mkdir一瞬间文件夹还没创建好,此时会报找不到文件夹的错误,我让然可以这样
File f = new File(path);
f.mkdir();
Thread.sleep(1000);
//写内容
但是我觉得休眠不是最好的方式,有没有什么方法能暂时阻塞(wait),等创建好文件夹马上继续执行写入
File f = new File("logs");
try {
synchronized (f) {
f.mkdir();
f.wait();
}
} catch (Exception e) {
e.printStackTrace();
}
这样好像不太对。。。

  • 写回答

1条回答 默认 最新

  • iteye_4811 2012-11-08 15:22
    关注

    mkdir()方法是会返回boolean值的

    [code="java"]
    File f = new File(path);
    if(f.mkdir()){

    ....
    } [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal