取消引用类型的标量变量

时间:2014-11-20 15:04:43

标签: coldfusion

我正在尝试循环遍历.csv文件,具体取决于一个列值,我将进一步查看是否存在与列中的值同名的文件

我使用的代码如下:

<cffile action="read" file="C:/ColdFusion10/cfusion/wwwroot/kelly2/debitorders.csv" variable="csvfile">

<cfoutput>
<cfloop index="index" list="#csvfile#" delimiters="#chr(10)##chr(13)#">

    <cfif FileExists(ExpandPath(listgetAt('#index#',5).txt))>
    xxx
    </cfif>

       #listgetAt('#index#',1)#<br>
       #listgetAt('#index#',2)#<br>
       #listgetAt('#index#',3)#<br>
       #listgetAt('#index#',4)#<br>
       #listgetAt('#index#',5)#<br>
       #listgetAt('#index#',6)#<br>
       #listgetAt('#index#',7)#<br>
       #listgetAt('#index#',8)#<br>
</cfloop>
</cfoutput>

然而,当我运行它时,我收到以下错误:

You have attempted to dereference a scalar variable of type class java.lang.String as a structure with members.


The error occurred in C:/ColdFusion10/cfusion/wwwroot/kelly2/upload.cfm: line 6
4 : <cfloop index="index" list="#csvfile#" delimiters="#chr(10)##chr(13)#">
5 : 
6 :     <cfif FileExists(ExpandPath(listgetAt('#index#',5).txt))>
7 :     xxx
8 :     </cfif>

我已经尝试将cfif标签放入试用和捕获,根据谷歌这解决了大多数人的问题,但它对我不起作用

1 个答案:

答案 0 :(得分:3)

试试这个

 <cfif FileExists(ExpandPath("#listgetAt('#index#',5)#.txt"))>

而不是

 <cfif FileExists(ExpandPath(listgetAt('#index#',5).txt))>