- - PR -
改行コードの検出方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-11-03 20:54
DB(oracle)に登録された文字列をjavaで取得し、改行コードを検出したいと思っています。
そこで質問なのですが改行コードの検出方法として「文字列.indexof("\n")」 でよろしいのでしょうか? | ||||
|
投稿日時: 2005-11-03 21:24
試せばわかる話だと思うのですが... 相手が Oracle だと line.separator とかでとはいかないのかな。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-11-03 21:24
'¥n'もしくは'¥r'が含まれているかを検査すると、
より確実になるでしょう。 | ||||
|
投稿日時: 2005-11-03 22:55
早速、試してみたいと思います。
お二方ともお返事ありがとうございました。 | ||||
|
投稿日時: 2005-11-04 00:49
もう解決されたかもしれませんが、エンコーディングに対応した判別が必要だと思います。
「DBに登録された文字列」というのがカラムの型としては CHAR/VARCHAR なのか CLOB なのか、Oracle のバージョンは何かなどが書かれていないので推測ですが、最新の Oracle 10g rel.2 の場合は、特に指定していなければ UTF-8 なので¥n、Shift JIS を指定してあれば¥r¥nです。 ちなみに、ファイル内容をまったくエンコーディング変換せずに格納した場合、書き込んだマシンと読み出すマシンの OS が違っていると java.io.File.separator 定数が使えないのがいやらしいですね。 安全側で考えるとすると正規表現 ¥r?¥n で split でしょうか。 | ||||
|
投稿日時: 2005-11-04 06:40
あまりカンケイない情報かもしれませんが一応。
Unicodeでは改行文字が8種類認められています。 http://www.unicode.org/reports/tr13/tr13-9.html 実運用環境では、CR,CRLF,LF以外に遭遇することは ほとんどないと思いますが。 [ メッセージ編集済み 編集者: sia 編集日時 2005-11-04 06:40 ] | ||||
|
投稿日時: 2007-06-22 18:18
2年前の話ですねぇ
僕は、こんなやり方をしてます。 String strLine_r_n = System.getProperty("line.separator"); Pattern pattern = Pattern.compile(strLine_r_n); Matcher match = pattern.matcher(dtoクラス.getメソッド()); もっといい方法があるかも知れませんが、出来たのでうれしかたったなぁ |
1