テキストファイルの読み込み

ここには、テキスト情報の含まれたファイルからテキストを抜き出す方法をメモする。

とりあえず、プレインテキストファイルの中身を NSString オブジェクトとして読み込む方法。

まずは、ファイルのパスを使って読み込む方法。NSStringinitWithContentsOfFile_encoding_error(path,encoding,err) もしくは stringWithContentsOfFile_encoding_error(path,encoding,err) を使う。この2つは、Objective-C だと違いに意味があるらしいのだが、RubyCocoa ではどっちでも違いがないらしい。文字コードは、テキストファイルの文字コードにメモしてあるので参照してください。UTF-8 なら NSUTF8StringEncoding とか。あと、Cocoa のリファレンスをみると、文字コードは割り当てられた数値でもいいので、長くしたくない場合は、そっちを使ってもいい。でも、後で見てわかりやすいのは文字列になってる方だけど。

path = OSX.NSHomeDirectory() + "Documents/text.txt"

text = NSString.stringWithContentsOfFile_encoding_error(path,NSUTF8StringEncoding,nil)

or

text = NSString.alloc.initWithContentsOfFile_encoding_error(path,NSUTF8StringEncoding,nil)

次に、URL を使って読み込む方法。これだと、ローカルでもウェブ上でもいけるんじゃないかと(試してないけど)。パスのときと同じように NSStringstringWithContentsOfURL_encoding_error(url,encoding,err) もしくは initWithContentsOfURL_encoding_error(url,encoding,err) を使う。

url = NSURL.fileURLWithPath(OSX.NSHomeDirectory() + "Documents/text.txt")

text = NSString.stringWithContentsOfURL_encoding_error(url,NSUTF8StringEncoding,nil)

or

text = NSString.alloc.initWithContentsOfURL_encoding_error(url,NSUTF8StringEncoding,nil)