の動作を変更する方法はありませんReadLine
。CRLFをラインターミネータとしてのみ認識します。したがって、唯一の単純な解決策は、すでに説明したものです。
編集
実際には、ASPサーバー上で箱から出してすぐに利用できるはずの別のライブラリがあり、何らかの助けを提供する可能性があります。それがADODBライブラリです。
ADODB.Stream
オブジェクトには、通常LineSeparator
使用するデフォルトのCRLFをオーバーライドするために10または13を割り当てることができるプロパティがあります。での使用方法が説明されていないため、ドキュメントにはパッチがありますReadText
。ReadText
パラメータとして-2を渡すことにより、ストリームから次の行を返すメソッドを取得できます。
この例を見てください:-
Dim sLine
Dim oStreamIn : Set oStreamIn = CreateObject("ADODB.Stream")
oStreamIn.Type = 2 '' # Text
oStreamIn.Open
oStreamIn.CharSet = "Windows-1252"
oStreamIn.LoadFromFile "C:\temp\test.txt"
oStreamIn.LineSeparator = 10 '' # Linefeed
Do Until oStreamIn.EOS
sLine = oStreamIn.ReadText(-2)
'' # Do stuff with sLine
Loop
oStreamIn.Close
デフォルトでは、CharSetはユニコードであるため、Unicodeでない場合は、ファイルで使用されている正しいCharSetを割り当てる必要があります。ドキュメントが実際にUTF-16を意味するという意味で、「Unicode」という言葉を使用します。Scripting
ここでの利点の1つは、ライブラリとは異なり、ADODBStreamがUTF-8を処理できることです。
ところで、MACは行末にCRを使用していると思いましたか?LFを使用するUnixファイル形式ですね。