栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如果不存在,请创建一个目录,然后在该目录中也创建文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如果不存在,请创建一个目录,然后在该目录中也创建文件

此代码首先检查目录是否存在,如果不存在则创建该目录,然后创建该文件。请注意,由于我没有完整的代码,因此我无法验证您的某些方法调用,因此,我假设对

getTimeStamp()
和这样的事情
getClassName()
都可以使用。
IOException
使用任何
java.io.*
类时,您还应该做一些可能抛出的事情-
写文件的函数应该抛出此异常(并在其他地方处理),或者您应该直接在方法中执行此异常。另外,我假设这
id
是类型
String
-我不知道,因为您的代码未明确定义它。如果是类似的东西
int
,您可能应该将其转换为,
String
然后再在fileName中使用它,就像我在这里所做的那样。

另外,我

append
concat
+
认为合适代替了您的电话。

public void writeFile(String value){    String PATH = "/remote/dir/server/";    String directoryName = PATH.concat(this.getClassName());    String fileName = id + getTimeStamp() + ".txt";    File directory = new File(directoryName);    if (! directory.exists()){        directory.mkdir();        // If you require it to make the entire directory path including parents,        // use directory.mkdirs(); here instead.    }    File file = new File(directoryName + "/" + fileName);    try{        FileWriter fw = new FileWriter(file.getAbsoluteFile());        BufferedWriter bw = new BufferedWriter(fw);        bw.write(value);        bw.close();    }    catch (IOException e){        e.printStackTrace();        System.exit(-1);    }}

如果您想在Microsoft Windows上运行代码,则可能不应该使用这样的裸路径名-
我不确定它会对

/
文件名中的做什么。为了获得完全的可移植性,您可能应该使用[File.separator之](http://codingdict.com/questions/121409类的东西来构建路径。

编辑
:根据下面的Josefscript评论,没有必要测试目录是否存在。该

directory.mkdir()

调用将返回
true
如果它创建一个目录,
false
如果没有,包括在这个目录已经存在的情况下。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/463621.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号