2014-11-21 32 views
0

使用ColdFusion我正在更新我的txt文件的第一行,但是一旦我這樣做,它會在我的txt文件的每一行後面添加一個空行,我不知道爲什麼。Cffile action =「write」在我的txt中添加空行

我的代碼的分項數字如下:

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

<cfoutput> 
<!---LOOP THROUGH CSV FILE---> 
<cfloop index="index" list="#csvfile#" delimiters="#chr(10)##chr(13)#"> 

     <!---SET VALUES--->   

     <!---TRIM VALUES---> 

     <!---SET STRING LENGTH FOR EACH---> 

     <!---SET TOTAL STRING---> 



     <!---IF FILE FOR BANK EXISTS---> 
     <cfif FileExists(ExpandPath("#listgetAt('#index#',5)#.txt"))> 

      <!---READ EXISTING FILE HEADER---> 
      <cffile action="read" file="C:/ColdFusion10/cfusion/wwwroot/kelly2/#bankname#.txt" variable="bankheader"> 
      <!---SPLIT UP THE HEADER TO ADD NEW VALUES ONTO IT---> 
      <cfset numericvalue = listfirst(bankheader,chr(13))> 
      <cfset numericvalue = #Right(numericvalue, 13)#> 

      <cfset RecordCountvalue = #Left(numericvalue, 3)#> 
      <cfset RecordCountvalue = #RecordCountvalue# + 1> 
      <cfset RecordCountvalue = #NumberFormat(RecordCountvalue,"000")#> 
      <cfset RecordCountvalue = #Left(RecordCountvalue, 3)#> 
      <cfset RecordCountvalue = #RJustify(RecordCountvalue, 3)#> 

      <cfset TotalRecordvalue = #Right(numericvalue, 10)#> 
      <cfset TotalRecordvalue = (#TotalRecordvalue# + #amount#) * 100000> 
      <cfset TotalRecordvalue = #NumberFormat(TotalRecordvalue,"0000000000")#> 
      <cfset TotalRecordvalue = #Left(TotalRecordvalue, 10)#> 
      <cfset TotalRecordvalue = #RJustify(TotalRecordvalue, 10)#> 

      <!---SET HEADER FOR FILE---> 
      <cfset fileheader_bank = "#UCase(bankname)#"> 
      <cfset fileheader_bank = "#Left(fileheader_bank, 15)#"> 
      <cfset fileheader_bank = "#LJustify(fileheader_bank, 16)#"> 
      <cfset newfile_header = "#fileheader_bank##RecordCountvalue##TotalRecordvalue#"> 

      <!---APPEND FILE AND ADD UPDATED HEADER---> 
      <cfset bankheader = listSetAt(bankheader,1,"#newfile_header#","#chr(13)#")> 
      <cffile action="write" file="#getDirectoryFromPath(getTemplatePath())#/#listgetAt('#index#',5)#.txt" output="#bankheader#"> 

      <!---APPEND FILE AND ADD NEW ENTRY---> 
      <cffile action = "append" 
      file = "C:/ColdFusion10/cfusion/wwwroot/kelly2/#listgetAt('#index#',5)#.txt" 
      output = "#total_string#"> 

     </cfif> 
</cfloop> 
</cfoutput> 

我敢肯定這個問題是在這些CFFILE標籤之一。

<!---APPEND FILE AND ADD UPDATED HEADER---> 
       <cfset bankheader = listSetAt(bankheader,1,"#newfile_header#","#chr(13)#")> 
       <cffile action="write" file="#getDirectoryFromPath(getTemplatePath())#/#listgetAt('#index#',5)#.txt" output="#bankheader#"> 

       <!---APPEND FILE AND ADD NEW ENTRY---> 
       <cffile action = "append" 
       file = "C:/ColdFusion10/cfusion/wwwroot/kelly2/#listgetAt('#index#',5)#.txt" 
       output = "#total_string#"> 

我已經刪除了很多不必要的,但如果您需要任何它,請讓我知道。

+0

'Trim()'可能有幫助 – 2014-11-21 18:49:24

+4

如果您閱讀[cffile attributes的文檔](http://help.adobe.com/zh_CN/ColdFusion/9.0 /CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7372.html)它解釋了爲什麼:'addNewLine' - 是:將換行符附加到寫入文件的文本中。 **默認:是** – Leigh 2014-11-21 18:50:03

+0

嗨Leigh!我現在已將fixnewline =「no」添加到所有的cffile標籤中,但似乎沒有幫助。我在第二行後仍然有一條空行 – Dave 2014-11-21 18:58:04

回答

1

如果你使用CFScript,你不會有問題。因爲使用ColdFusion標籤返回並且空格影響文檔佈局。嘗試縮小您的代碼以刪除任何浮動返回/空格。我在創建PDF文件時遇到了這個問題,其中包含CF

相關問題