OBJ-CでC#で作成したプログラムを作り直そうとしています。C#では、streamreaderを使用して、探している行のデータファイルを検索し、その行を操作可能な文字列に変換しました。
私はNSScannerを見てきましたが、それが私が探しているものであるかどうかはわかりませんが、私は決してカカオの専門家ではありません。
私ができるようにしたいのは、データファイルで文字列の出現を検索し、その文字列の出現が見つかった場合、その文字列が見つかった行を文字列として返すことだけです。
何か案は?
OBJ-CでC#で作成したプログラムを作り直そうとしています。C#では、streamreaderを使用して、探している行のデータファイルを検索し、その行を操作可能な文字列に変換しました。
私はNSScannerを見てきましたが、それが私が探しているものであるかどうかはわかりませんが、私は決してカカオの専門家ではありません。
私ができるようにしたいのは、データファイルで文字列の出現を検索し、その文字列の出現が見つかった場合、その文字列が見つかった行を文字列として返すことだけです。
何か案は?
データ ファイルが大きすぎてメモリに収まらない場合は、それを文字列に読み込んで、文字列メソッドを使用して検索することができます。例えば:
NSData *data = [NSData dataWithContentsOfFile:@"/path/to/file.dat"];
NSString *dataString = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
for (NSString *line in [dataString componentsSeparatedByString:@"\n"])
if (!NSEqualRanges([line rangeOfString:searchString], NSMakeRange(NSNotFound,0)))
return line;