私のコードは、(テキスト転送モードを使用して) ftp からローカル ディスクにファイルをコピーし、それらを処理しようとします。すべてのファイルにはテキストのみが含まれ、値は改行で区切られます。バイナリ転送モードを使用してファイルがこの ftp に移動されることがありますが、これにより行末が台無しになるようです。16 進エディタを使用して、ファイルを 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 システムに送られます。確かではありませんが、「Unix と Windows の両方の行末を読み取るには、どの inFieldDelimiter 値を使用すればよいですか?」という質問が考えられます。