Coldfusion opencsv csvWriter-未找到I get writeNext方法

Coldfusion opencsv csvWriter-未找到I get writeNext方法,coldfusion,opencsv,Coldfusion,Opencsv,我有以下代码: <cfset csvFilename = 'myCSV.csv'> <cfset fileWriter = createobject("java","java.io.FileWriter").init("#csvFileName#")> <cfset csvWriter = createObject("java","com.opencsv.CSVWriter").init(fileWriter, ",")> <cfset csvWrit

我有以下代码:

<cfset csvFilename = 'myCSV.csv'>
<cfset fileWriter = createobject("java","java.io.FileWriter").init("#csvFileName#")>
<cfset csvWriter = createObject("java","com.opencsv.CSVWriter").init(fileWriter, ",")>

<cfset csvWriter.writeNext('{"1","2"}', true)>
<cfset csvWriter.flush()>
<cfset fileWriter.close()>
<cfset csvWriter.close()>

当我运行页面时,会收到以下错误消息:

找不到writeNext方法

没有具有指定方法名称和名称的方法 参数类型或writeNext方法被参数重载 ColdFusion无法可靠破译的类型。ColdFusion找到0 与提供的参数匹配的方法。如果这是一个Java对象 如果您验证了该方法存在,请使用javacast函数 减少歧义

我在互联网上搜索过,似乎找不到任何将csvWriter与Coldfusion结合使用的例子,我也不知道为什么它不起作用。我有一个csvReader和ReadNext的工作示例,但没有WriteNext。你知道我做错了什么吗?我曾经尝试过javacast,但也没有成功

<cfset csvWriter.writeNext(javacast("string",'1,2'))>


我将Coldfusion 11与opencsv-3.8.jar一起使用,根据API,该重载需要一个
字符串[]
,或一个字符串数组。CF数组与Java的稍有不同,但它们确实如此。这两种方法都可以:

<cfset csvWriter.writeNext( ["1","2"], true)>
<cfset csvWriter.writeNext( javacast("String[]", ["3","4"]), javacast("boolean", true))>

另外,请跳过对
fileWriter.close()
的调用。当您调用
CSVWriter.close()
时,它会为您关闭底层编写器。同时调用这两个函数将导致错误


如果没有完整路径,我不确定该文件将在哪里结束。始终指定完整路径可以避免以后的许多麻烦;-)

好的第一个问题1+。欢迎来到S.O.:)谢谢,我想可能是因为我没有找到文件的完整路径,因为我尝试了数组和字符串的各种组合,但没有成功。通过完整的路径,它正在工作。我很感谢你花时间回答并确认它会起作用。嘿,这是真的。一轮特别有趣的“哦,你在哪里?”说服了我接受完整的路径;-)不管怎样,很高兴它起作用了!