我是Scala& amp;的新手。 Java,尝试使用它编写.properties文件,但它给出错误:
参考:https://www.roseindia.net/java/example/java/core/write-properties-file-in-java.shtml
以下是代码:
import java.io.File
import java.io.FileWriter
import java.io.BufferedWriter
import java.io.PrintWriter
import java.io.FileInputStream
import java.io.FileOutputStream
import java.util.Properties;
for ((k,v) <- jsonData.get.asInstanceOf[Map[String,String]]){
var gdfileWriter : Writer = null;
try{
var prop : Properties = null;
prop = new Properties();
var file : File = null;
file = new File(gdDestFileNameWithPath);
var fos : FileOutputStream = null;
fos = new FileOutputStream(file);
prop.setProperty("database", "localhost");
prop.setProperty("userName", "Naulej");
prop.setProperty("Password", "naulej");
prop.store(fos, "");
fos.close();
// gdfileWriter = new FileWriter(gdDestFileNameWithPath);
// dfileWriter.write("");
// gdfileWriter.append(gdJsonContent);
// gdfileWriter.close();
} finally{
try{gdfileWriter.close();}catch {
case t: Throwable => t.printStackTrace() // TODO: handle error
}
}
}
file.setProperty("Password", "naulej");
此行在eclipse中给出了语法错误,即value setProperty is not a member of java.io.File
任何帮助都将不胜感激。
答案 0 :(得分:1)
这里有几件事。首先,您可以编写更多或更少的java,这是可以的,但是您应该将代码放入java文件中。无论如何使用scala中的java是有意的,通常没有问题。只需留意异常和null
。
关于scala,这是我的(可能不完整)列表:
try ... catch
。scala.util.Try
null
。 ; - )var
)可能是&#34;未初始化&#34;看一下可用于此的Option
类型。以下是一个例子:
import java.io.{ File, FileOutputStream }
import java.util.Properties
Try {
val p = new Properties
val f = new File(...)
val fs = new FileOutputStream(f)
// Set your properties and save them...
p // Return the created properties in the end
}
这将导致Try[Properties]
,您可以用它来检查是否发生任何异常。