atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
comscom@Wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
comscom@Wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
comscom@Wiki
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • comscom@Wiki
  • Java
  • 文字コードを指定して外部ファイルを読み書きしたいの

comscom@Wiki

文字コードを指定して外部ファイルを読み書きしたいの

最終更新:2007年03月26日 11:25

dotcom

- view
管理者のみ編集可
サーバーで作成されたデータファイル(csv)をバックアップしてて思ったこと。
どうやらUTF-8で作ってるみたい。
でもね、Winな開発環境ではMS932で作ってた。
読み込みも同じ。
これ、一緒にしたいよね?

  • デフォルトのエンコードの設定って?
    • MS932(Windous-31J)
  • 読み込む時に文字コードを指定する
    • 文字コードを指定しなくていいならFileReader
    • 文字コードを指定するならInputStreamReader
    • 実際にはこんな風に使ってみた
  • 書き込む時に文字コードを指定する
    • 文字コードを指定しなくていいなら
    • 文字コードを指定するならOutputStreamWriter
    • 実際にはこんな風に使ってみた

デフォルトのエンコードの設定って?

ファイルを読み込んだり書き込んだりするときに勝手に使ってくれるデフォルトの文字コードが設定されてるんだって。

それを調べる方法は
System.out.println(System.getProperty("file.encoding"));
ってするとコンソールにでてくるぜよ。

うちの開発環境での「MS932」
ってなんだろ?(無知

MS932(Windous-31J)

そんなときにはうぃきぺでぃあ
http://ja.wikipedia.org/wiki/Windows-31J

またびるげいつですか。。。

まてよ。
Windous-31Jってよく目にするわ。
JSPで文字コードの設定とかするときばしばし見かけますなあ。
シフトJISの拡張版とな。

開発環境はWinマシンだからデフォルトがMS932なわけね。で、ファイル読み込みとか書き込みのときに文字コード指定してないからこのMS932で読んじゃってるわけかあ。
なるほど。。

つまりこれをUTF-8にすればいいわけね。
やっちゃおう。やってみますよ。


読み込む時に文字コードを指定する

うちのはcsvファイルを入力するです。
txtとかバイナリファイルなら↓のやり方で大丈夫だって。

文字コードを指定しなくていいならFileReader

これまでこんな風に読み込んでました。
BufferedReader inFile = new BufferedReader(new FileReader(filename.csv));

読む時はこんな。例外は省略
while (inFile.ready()) {
System.out.println(inFile.readLine());
}
inFile.close();

文字コードを指定するならInputStreamReader

今回使うのはこれこれ。
InputStreamReader(Stream,文字コード)
 とほほさんのページ>http://www.tohoho-web.com/java/file.htm#InputStreamReader

これはバイトストリーム(Stream)を指定しないといかんのでFileInputStreamを作ってファイル名を指定。それを使います。
 とほほさんのページ>http://www.tohoho-web.com/java/file.htm#FileInputStream

InputStreamReader isr = new InputStreamReader(new FileInputStream(filename.csv),"UTF-8"));
これで文字コードは指定できた。

実際にはこんな風に使ってみた

ああでも1行ずつ読み込んでくれてるってのは生かしたい。上のままだと読むだけ。

じゃあBufferedReaderを残してFileReaderの代わりにInputStreamReaderを使ってみましたよ。どうよ?
BufferedReader inFile = new BufferedReader(new InputStreamReader(new FileInputStream(filename.txt),"UTF-8"));

ラップしまくりでわかんないですね。
これと同じ意味
FileInputStream fis = new FileInputStream(filename.txt);
InputStreamReader in = new InputStreamReader(fis,"UTF-8");
BufferedReader inFile = new BufferedReader(in);

BufferdReaderでラップしたので1行ずつ読み込んでくれました。
使い方は最初のときと同じ。変わったのはFileRearderがInputStreamRearderにしただけ。


書き込む時に文字コードを指定する

やはりcsvファイルとして書き込むです。

文字コードを指定しなくていいなら

これまでこんな風に書き込んでました。
PrintWriter outFile = new PrintWriter(new BufferedWriter(new FileWriter(new File(filename.csv).getAbsolutePath())));

書く時はこんな。例外は省略
for (int i = 0 ; i < 10 ; i++) {
outFile.println("これで,おっけー?," + i + "回目" );
}
outFile.close();

文字コードを指定するならOutputStreamWriter

今回使うのはこれこれ。
OutputStreamWriter(Stream,文字コード)
読み込みの時と似てるね。

やっぱりFileOutputStreamを作ってファイル名を指定。
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(filename.csv),"UTF-8");
これで文字コードは指定できた。

実際にはこんな風に使ってみた

やっぱ1行ずつ書き込むのって生かしたい。

じゃあBufferedWriterを残してFileWriterの代わりにOutputStreamWriterを使ってみましたよ。どうよ?
PrintWriter outFile = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename.csv),"UTF-8")));

ラップしまくりでわかんないですね。
使い方は最初のときと同じ。変わったのはFileWriterがOutputStreamWriterにしただけ。

タグ:

Java
「文字コードを指定して外部ファイルを読み書きしたいの」をウィキ内検索
LINE
シェア
Tweet
comscom@Wiki
記事メニュー
comscom@Wiki
author:com

全記事一覧

コンテンツ別記事一覧


カテゴリ別メニュー

▼MicroSoft系
  • WindowsXP
  • Excel
  • InternetExplorer
  • OutlookExpress
▼Mozilla系
  • FireFox
  • FireFoxアドオン
  • Firebug?
  • Thunderbird?
▼なんちゃって開発系
  • ▼Eclipse
    • Eclipse
    • ▼メニューバー別
      • 一覧?
      • 編集?
      • ファイル?
      • 編集?
      • ソース?
      • リファクタリング?
      • ナビゲート
      • 検索?
      • プロジェクト
      • 実行?
      • ウィンドウ?
      • ヘルプ?
      • Tomcat
    • Cvs?
    • Ant?
    • junit?
    • djunit?
    • xml?
    • FindBugs
    • Tomcat
  • ▼NetBeans
    • NetBeans
    • BPELDesigner
  • Java
  • Tomcat
  • Ant
  • Cvs
  • UML
  • Log4j
  • ツール?
  • CommandPrompt
  • Maven2
  • ▼DataBase
    • SQLServer
    • PostgreSQL?
    • Derby?
    • Oracle?
▼Web系
  • ▼HTML系
    • HTML
    • CSS?
  • ▼blog系
    • blog?
    Wiki
▼つぶやき
  • つぶやき
  • にっき
  • お仕事中なの
  • 知るを科学する

▼お役立ちツール
  • ▼エディタ
    • TeraPad?
  • ▼Win系ツール
    • ステキフリーソフト
▼リンク
  • @wiki トップ
  • @wiki ヘルプ
  • @wiki 助け合い掲示板
  • EclipseWiki

最近更新した記事

取得中です。






total -
t -
y -
記事メニュー2

コチラは。。。

comです。
いろいろ書いてます。思ったことと自分用メモなのであまり参考にはなりません。ググってたどりついたサイトさんにお世話になりっぱなしです。勝手にリンクはっちゃっていますので記事に問題ありましたらお手数おかけしますがご連絡くださいです。
書き込み機能はありません。コメントはつぶやきの記事へどうぞ。

たまにサンプルコードとか書いてしまいますが動作の保障はないのです。改行無文字膨大誤字脱字乱雑注意!


人気記事ランキング
  1. Word/変更履歴をなくして初版にしたい。
  2. つぶやき/2008年07月22日/地震の揺れ
  3. Tomcat/パッケージ javax.servlet は存在しません
  4. つぶやき/2009年02月19日
  5. Eclipse/Javadoc/Javadoc生成でjavadocコマンドを指定してください。と怒られるの
  6. つぶやき/2007年04月09日
  7. Tomcat/起動したらロードするサーブレット
もっと見る
最近更新されたページ
  • 4604日前

    つぶやき/2009年01月15日/毛糸屋さん
  • 5613日前

    つぶやき/2010年05月20日
  • 5613日前

    つぶやき/2010年05月20日/あんとantアント
  • 5846日前

    Maven2/groupIdが古かったり間違ってたり?するとWARNINGがでて正しいものでInstallされちゃうの
  • 5904日前

    つぶやき/2008年06月30日/まつり縫いとかがり縫い
  • 5945日前

    つぶやき/2009年06月22日
  • 5945日前

    つぶやき/2009年06月22日/お米を研ぐ
  • 5960日前

    つぶやき/2008年07月28日/mp4を開きたいときはQuickTimeでいいよもう。
  • 5960日前

    FireFox/アドオン/Video Downloader/動画いただき!
  • 5960日前

    つぶやき/2007年04月23日/きょうもきょうとてちょと進歩
もっと見る
「Java」関連ページ
  • Java/日付型はCalendarを使って
  • Java/SimpleDateFormat/Mとm
  • Java/JavaAPI/splitで最後の空白が反映されないの
  • Java/Calendar/日付チェックしたいの
  • Eclipse
人気タグ「絶対参照」関連ページ
  • Excel/絶対参照と相対参照の切り替えをショートカットキーでかっこよくやりたいの
もっと見る
人気記事ランキング
  1. Word/変更履歴をなくして初版にしたい。
  2. つぶやき/2008年07月22日/地震の揺れ
  3. Tomcat/パッケージ javax.servlet は存在しません
  4. つぶやき/2009年02月19日
  5. Eclipse/Javadoc/Javadoc生成でjavadocコマンドを指定してください。と怒られるの
  6. つぶやき/2007年04月09日
  7. Tomcat/起動したらロードするサーブレット
もっと見る
最近更新されたページ
  • 4604日前

    つぶやき/2009年01月15日/毛糸屋さん
  • 5613日前

    つぶやき/2010年05月20日
  • 5613日前

    つぶやき/2010年05月20日/あんとantアント
  • 5846日前

    Maven2/groupIdが古かったり間違ってたり?するとWARNINGがでて正しいものでInstallされちゃうの
  • 5904日前

    つぶやき/2008年06月30日/まつり縫いとかがり縫い
  • 5945日前

    つぶやき/2009年06月22日
  • 5945日前

    つぶやき/2009年06月22日/お米を研ぐ
  • 5960日前

    つぶやき/2008年07月28日/mp4を開きたいときはQuickTimeでいいよもう。
  • 5960日前

    FireFox/アドオン/Video Downloader/動画いただき!
  • 5960日前

    つぶやき/2007年04月23日/きょうもきょうとてちょと進歩
もっと見る
ウィキ募集バナー
急上昇Wikiランキング

急上昇中のWikiランキングです。今注目を集めている話題をチェックしてみよう!

  1. メガバカ盗作検証画像庫 @ ウィキ
  2. バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  3. MadTown GTA (Beta) まとめウィキ
  4. メダロット辞典@wiki
  5. トリコ総合データベース
  6. SDガンダム ジージェネレーションジェネシス 攻略Wiki
  7. beatmania IIDX SP攻略 @ wiki
  8. MHP2G@Wiki
  9. 魔法科高校の劣等生Wiki
  10. グランツーリスモWiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 発車メロディーwiki
  6. モンスター烈伝オレカバトル2@wiki
  7. 検索してはいけない言葉 @ ウィキ
  8. オレカバトル アプリ版 @ ウィキ
  9. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  10. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
もっと見る
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. まどドラ攻略wiki
  3. シュガードール情報まとめウィキ
  4. ちいぽけ攻略
  5. 戦国ダイナスティ攻略@ウィキ
  6. SurrounDead 攻略 (非公式wiki)
  7. 20XX @ ウィキ
  8. ソニックレーシング クロスワールド @ ウィキ
  9. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  10. Dark War Survival攻略
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  3. スーパーロボット大戦Y - アニヲタWiki(仮)
  4. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
  5. 信じていた仲間達にダンジョン奥地で殺されかけたがギフト『無限ガチャ』でレベル9999の仲間達を手に入れて元パーティーメンバーと世界に復讐&『ざまぁ!』します! - アニヲタWiki(仮)
  6. 奴隷騎士ゲール(DARK SOULS III) - アニヲタWiki(仮)
  7. コメント/雑談・質問 - マージマンション@wiki
  8. 機動戦士ガンダム サンダーボルト - アニヲタWiki(仮)
  9. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  10. 模擬ドラフト結果 - おんJ模擬ドラフトまとめwiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.