0
我的代碼將文件從ftp(使用文本傳輸模式)複製到本地磁盤,然後嘗試處理它們。 所有文件僅包含文本,並使用新行分隔值。有時使用二進制傳輸模式將文件移動到此ftp,看起來像這會弄亂線端。 使用十六進制編輯器,我比較行結束取決於用於發送文件的傳輸模式FTP: 使用文本模式:文件結尾是0D 0A使用二進制模式 :文件結尾是0D 0D 0A如何讀取以二進制形式傳輸的文本文件
是否有可能修改我的代碼,以便它可以在兩種情況下讀取文件?從工作 代碼,說明我的問題,並說明如何我讀文件: (這裏我用同一個文件,它包含14行數據)
int i;
container con;
container files = ["c:\\temp\\axa_keio\\ascii.txt", "c:\\temp\\axa_keio\\binary.txt"];
boolean purchLineFirstRow;
IO inFile;
;
for(i=1; i<=conlen(files); i++)
{
inFile = new AsciiIO(conpeek(files,i), "R");
inFile.inFieldDelimiter('\n');
con = inFile.read();
info(int2str(conlen(con)));
}
文件來自Unix的系統到Windows系統正。 不知道,但也許問題可能是:「我應該使用哪個inFieldDelimiter值來讀取Unix和Windows行結束符?」
您可以指定是否要從Windows,Linux,BSD或任何一方操作系統?線路終端是操作系統特定的,並且在文本模式下,FTP執行的翻譯不是在二進制模式下完成的。 – 2010-10-24 15:38:52
文件來自Unix系統到Windows。 – Keios 2010-10-25 10:33:31