• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字列の比較について)

BufferedReaderを使用してファイルを読み込む際に文字列を比較すると文字コードが変わる

このQ&Aのポイント
  • BufferedReaderを使用してファイルを読み込む際に、カンマで分割した文字列を比較すると文字コードが変わってしまう現象が発生します。
  • この現象は、文字列の比較時にバイト列に変換され、文字コードが異なる場合には異なる結果が得られるためです。
  • 解決するためには、文字列の比較前に文字コードの正規化を行う必要があります。文字コードを統一するためには、文字列を正規化するメソッドを使用するなどの対策があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • zz4576
  • ベストアンサー率100% (1/1)
回答No.1

System.out.println(String.toString(str)); ↓ System.out.println(str[j]); にしたら表示できるんじゃないでしょうか? 質問のままだと、配列の番地を文字列にして出力しようとしてるんだと思います。

MASA0901
質問者

お礼

返信ありがとうございます。 返事が遅くなってすみません。 >System.out.println(String.toString(str)); この部分はよく理解せずにメソッドを使っていました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.2

FileReaderクラスを使う場合はデフォルトの文字コードで読み込まれますが、 csvファイルの文字コードと合っていますか? もし違うならFileInputStreamクラスとInputStreamReaderクラスを使って 文字コードを指定してファイルを読み込むようにしてください。 また、他のコードも???なところが・・・ >System.out.println(String.toString(str)); String#toString(String[]) のようなメソッドはないです。 >f(str.equals("五十音")){ini = j;} >if(str.equals("a")){wamei = j;} Stringの配列と文字列を比較しているので常にfalseになるはずです。

MASA0901
質問者

お礼

返信ありがとうございます。 返事が遅くなってすみません。 >Stringの配列と文字列を比較しているので常にfalseになるはずです。 この部分のケアレスミスでした。

すると、全ての回答が全文表示されます。
このQ&Aのポイント
  • 半年前にゴムベルト切れで修理した【TA2 A622型】。しかし、修理後は綿三つ折り以上の生地が縫えず、針目が飛んだり糸調子がおかしい状態が続いています。調整をお願いしたい。
  • 30年ぶりにトラブル発生!【TA2 A622型】の修理で代用品を使った結果、綿三つ折り以上の生地が縫えなくなり、針目が飛びやすくなりました。また、糸調子も変な具合です。問題の解決をお願いします。
  • 問題の【TA2 A622型】は半年前にゴムベルトが切れ、修理してもらったものです。しかし、修理後は綿三つ折り以上の生地が縫えず、針目が飛んでしまいます。さらに、糸調子も不安定です。修正をお願いします。
回答を見る

専門家に質問してみよう