6
我想用Coldfusion和JavaLibrary解析CSV文件。我找到了一些例子,但似乎ColdFusion找不到Jar-File。ColdFusion/Java類未找到異常
這是我的代碼:
<cfset t01= getTickCount()>
<cfscript>
fileReader = createobject("java","java.io.FileReader");
fileReader.init("C:\Dev\files.csv");
csvReader = createObject("java","au.com.bytecode.opencsv.CSVReader");
csvReader.init(fileReader, ",");
</cfscript>
<cfset t02= getTickCount()>
<cfset ArrayData = csvReader.readAll()>
<cfset t03= getTickCount()>
<cfoutput>
Process Data: #t02 - t01# ms
Display Dump: #t03 - t02# ms
<cfdump var="ArrayData"><cfabort />
</cfoutput>
,這是的ErrorMessage:
java.lang.ClassNotFoundException: au.com.bytecode.opencsv.CSVReader
at coldfusion.bootstrap.BootstrapClassLoader.loadClass(BootstrapClassLoader.java:235)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248).....more Stack blabla......
我使用opencsv Library。 的jar文件是在以下文件夾:
wwwroot文件/ WEB-INF/lib目錄
我也服務器多次重新啓動。
感謝您的幫助!
@noah - 我懷疑Miguel-F擊中了頭部。看看源代碼,舊版本(例如2.2)使用了不同的包名稱,即'au.com.bytecode.opencsv'。在[新版本](http://sourceforge.net/p/opencsv/source/ci/release-3.2/tree/examples/AddressExample.java#l1)中,軟件包名稱已切換爲「com.opencsv」。您可能正在使用新的jar包之一,但使用舊的包名稱。因此爲什麼沒有找到。以上應該解決問題。 – Leigh
如何在「ram:///」中運行相同的代碼片段?我被困住了。似乎fileReader無法處理內存中的路徑。 – 84RR1573R