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