【发布时间】:2014-10-05 20:29:37
【问题描述】:
我需要编写一个程序,在其中运行一组指令并在目录中创建一个文件。一旦文件被创建,当再次运行相同的代码块时,它不应该运行相同的指令集,因为它之前已经执行过,这里文件用作保护。
var Directory: String = "Dir1"
var dir: File = new File("Directory");
dir.mkdir();
var FileName: String = Directory + File.separator + "samplefile" + ".log"
val FileObj: File = new File(FileName)
if(!FileObj.exists())
// blahblah
else
{
// set of instructions to create the file
}
当程序最初运行时,该文件将不存在,因此它应该运行else 中的指令集并创建文件,并且在第一次运行后,第二次运行它应该退出文件存在。
问题是我不明白new File,文件是什么时候创建的?我应该使用file.CreateNewFile 吗?另外,如何使用case 以函数式风格编写这个?
【问题讨论】:
-
三个小点,与题无关。尊重 Scala 命名约定是个好主意:使用
var directory而不是var Directory等(参见Scala style guide)。您应该避免在可以使用val的地方使用var:使用val Directory而不是var Directory。最后,最好避免将路径名连接为字符串,而是使用File类的其他构造函数,例如:val directory = new File("Dir1"); val file = new File(directory, "samplefile.log")- 这样,您就不必担心分隔符了。
标签: scala