約 4,227,631 件
https://w.atwiki.jp/dotcom/pages/120.html
サーバーで作成されたデータファイル(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にしただけ。
https://w.atwiki.jp/phptest/pages/29.html
難しいし、他言語はTもよく知らない為、指南もしにくいので後回しでいいです。 文字コードとは 文字コードとエンコーディングとcharsetについてより複雑な説明 参照:「いいから俺文字コード」シリーズ Java Javaにおいては、文字を扱うクラスや型(String, StringBuffer, char)は、すべて UTF-16 で符号化されている。 他の文字コードと相互変換する場合は、byte[] 型を通す。 System.out.println(System.getProperty("file.encoding")); //MS932 String str = "テスト"; byte[] codes = str.getBytes(); //プラットフォーム別(※実行時の環境変数か何かで決定される。なんだっけ?) codes = str.getBytes("MS932"); //コード名称明記 str = new String(codes, "MS932"); //byte[] から char[] に変換。 System.out.println("codes "+codes); //byteコードなので出鱈目に見える System.out.println("REcode "+str); //REcode テスト 変換テーブルは JRE/JVM に内蔵される(※のか?)eclipseで文字コードを設定できます。 エンコーディングの変更方法 PHP デフォルトのエンコーディングを変更する場合はphp.iniの1198行目あたりにある記述を書き換えます mbstring.internal_encoding = SJIS エンコーディング mb_convert_encoding関数を使用できます。 $str = "元になっている文字列"; print($str." br "); //もとになっている文字列 $str = mb_convert_encoding($str, "UTF-8", "auto"); print($str); //蜈�↓縺ェ縺」縺ヲ縺�k譁�ュ怜� 参照:PHPマルチバイト文字列関数 PHPでもヘッダーを使って文字コードの記述が出来ます。 ?php header("Content-Type text/html; charset=SJIS"); echo " h1 インデックス /h1 "; php? ただし、ヘッダーより前に構文が書けなくなるので、html記述などが出来なくなります。 参照:PHPマニュアル-ネットワーク関数 javascript htmlファイルのmetaタグ内部につけることで宣言可能です。 バージョンやドキュメント宣言とは分けて書くことが出来ます。 !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http //www.w3.org/TR/html4/loose.dtd" head meta http-equiv="Content-Type" content="text/html;charset=UTF-8" meta http-equiv="Content-Script-Type" content="text/javascript" title JavaScript テスト /title /head body p Test /p /body /html さらに内部エンコーディングはUTF-16でできており、文字コード変換用にescape関数、unescape関数が存在します。 var str = "\u3042\u3044\u3046\u3048\u304a"; var str2 = "あいうえお"; document.write(escape("\u3042\u3044\u3046\u3048\u304a")); //%u3042%u3044%u3046%u3048%u304A document.write(unescape("\u3042\u3044\u3046\u3048\u304a")); //あいうえお document.write(str); //「あいうえお」と出ましたが環境で変化するかもしれません document.write(escape(str2)); //\u3042\u3044\u3046\u3048\u304a document.write(unescape(str2)); //あいうえお 参照:Javascriptのescape関数で判読を難しくする
https://w.atwiki.jp/wiki2_rock/pages/12.html
文字コードの種類 日本語の文字セットは、ISO-2022-JP(JIS)、Shift_JIS、Windows-31J、EUC_JPの4種類である。 Shift_JIS 日本語文字コードの一つ。Microsoft社によって策定された。文字の1バイト目を見るだけで漢字か1バイト文字(いわゆる半角英数字)か分かる、等幅フォントで表示した場合に画面上の桁数とバイト数が一致するなどの特長から、MS-DOSやWindows、Mac OSなど、パソコンの標準文字コードとして広く普及した。 Shiftは小文字、JISは大文字、間はハイフンではなくアンダースコアなので要注意。 Windows-31J 別名「Windows Codepage 932」。Shift_JISを拡張した、Windows環境で標準的に用いられている文字セット。 WJavaではJDK 1.2以降で「MS932」という名称でサポートされており、JDK 1.4.1以降はWindows-31JというIANAの正式名称でも利用可能になっている。 Windows-31Jは、以下のようなWindows機種依存文字を含んでおり、JPSのpageディレクティブにSHIFT-JISを指定した場合は以下の文字は文字化けする。 NEC特殊文字①②③ⅠⅡⅢ㍉㌔㌢№℡㈱など IBM特殊文字髙など MacintoshなどのOSにおける「Shift_JIS」はWindows-31Jとは異なる。例えばWindowsにおけるの文字コード0x8740に対し、Macintoshでは「(日)」というMac機種依存文字が割り当てられている。 ページ内でWindows機種依存文字を使用したいときは、Shift_JISの代わりにWindows-31Jを指定することで文字化けを回避可能なケースもある。Safariでは、文字コードにWindows-31Jが正しく指定されていれば、Windows機種依存文字も表示可能。 ISO-2022-JP 別名JIS。JIS規格によって規定されている日本語の文字コードの一つ。Shift JISコード、日本語EUCと並んでインターネット上でよく使われる文字コードである。 EUC_JP Extended UNIX Code。 日本語UNIXシステム諮問委員会の提案に基づいて1985年にAT T社が定めた、複数バイトの文字を扱う文字コードの枠組み。日本語だけでなく複数バイト言語の各国の文字コードが規定されている。日本語のEUCコードを特に「EUC-JP」「日本語EUC」と呼ぶ。 参考:UTF UCS-2やUCS-4(Unicode)で定義される文字集合を用いて記述された文字列をコンピュータが扱いやすいようにバイト列(数値の列)に変換する方式。1文字を1~6バイト(現状では最長4バイト)の可変長の数値(バイト列)に変換するUTF-8、UCS-2の集合の中にUCS-4の一部の文字を埋め込むためのUTF-16、Unicodeをメールで使用するためのUTF-7、すべてのUCS-4文字を4バイトで表現するUTF-32の4種類がある。 文字コード変換について 概要 Javaでは、すべての文字をUnicodeとして処理している。そのため、JVMが外部に対して文字を出力する際には、Unicode→各種文字コードへの変換が必要になる。逆にJVMが外部から文字を入力する場合は各種文字コード→Unicodeの変換が必要になる。 Webアプリケーションでは、以下のような状況で文字の相互変換が行われる。 JSPファイルがサーブレット・コンテナに読み込まれるとき Webブラウザからリクエストを受信するとき Webブラウザにレスポンスを送信するとき データベースやファイルにアクセスするとき メールを送受信するとき 変換方式の指定 pageEncodingWebアプリケーションサーバが、外部→JVMにファイルが入力された場合(クライアントからのHTTPリクエスト)、文字セットからUnicodeに変換する際に用いるエンコーディング方式を指定する。 contentTypeJVMからコンテンツをWebブラウザに出力する際にWebアプリケーションが使用するUnicode→文字セットの変換方式。 相互変換のミスマッチ たとえば以下のように相互変換方式を指定したとする。 %@page language="java" contentType="text/html; charset=Shift_JIS" pageEncoding="Windows-31J" % このとき「~-¢£」などの文字をアプリで使用した場合、文字化けが発生する。 メカニズムは以下のとおり。 ページエンコーディングが「Windows-31J」なので、WASはJSPファイルがWindows-31Jで作成されたものとしてUnicodeに変換する。 コンテントタイプが「Shift_JIS」なので、WASはUnicodeから「Shift_JIS」に文字コードを変換する。 上記に示した文字に対する変換コードポイントが2方式の間で異なるため、元の文字に戻すことができずに文字化けが起こる。 指定方法 contentTypeの指定 JSPがサーバからクライアントにデータを返却する際、pageディレクティブ-contentType-charsetに指定されたエンコーディング方式に従って、Unicodeから各文字セットに変換する。 contentTypeを指定しない場合、デフォルトでは %@page contentType="text/html; charset=ISO-8859-1" % が指定される。ISO-8859-1は英数字と記号のみの文字セットなので、日本語などの2バイト文字は表示できない。したがって、日本語を扱いたい場合(扱いたくない訳ないがな)以下のように明示的に指定する。 %@page contentType="text/html; charset=Windows-31J" % pageEncodingの指定 クライアントからのリクエストデータを、WASがUnicodeに変換する際のエンコーディング方式を指定する。省略することもできるが、その場合はcontentTypeと同じ方式で変換される。 %@page pageEncoding="Windows-31J" %
https://w.atwiki.jp/dai7messi19/pages/12.html
javaでの文字コード判定法 SJIS protected final InputStream transform( final InputStream in, final String[] convertTable ) throws IOException { logger.dump("SJIS判定処理開始"); // 格納用変数の生成 StringBuilder sb = new StringBuilder(); int code = 0; int wideChar = 0; // 判定フラグ boolean isWideCharMode = false; while ((code = in.read()) -1) { // 読み込んだ文字数分繰り返します if (isWideCharMode) { // 読んだのが2byte文字の2byte目の場合 wideChar += code; // 文字コード変換表格納Arrayから変換後のコードを取得してsbに格納する。 if (convertTable[wideChar] == null) { convertTable[wideChar] = QUESTION; } sb.append(convertTable[wideChar]); // 再び判定を行うためにフラグをfalseにする。 isWideCharMode = false; continue; } if (code BORDER_CHAR) { // 読んだのが1byte文字の場合 // 文字コード変換表格納Arrayから変換後のコードを取得してsbに格納する。 if (convertTable[code] == null) { convertTable[code] = QUESTION; } sb.append(convertTable[code]); isWideCharMode = false; } else if ( (code = BORDER_KANA_MINI) (code = BORDER_KANA_MAX) ) { // 読んだのが半角カナの場合 // 文字コード変換表格納Arrayから変換後のコードを取得してsbに格納する。 if (convertTable[code] == null) { convertTable[code] = QUESTION; } sb.append(convertTable[code]); isWideCharMode = false; } else { // 読んだのが2byte文字の1byte目の場合 // 1byte目に256をかけます wideChar = code * BYTE2; // 2byte文字の2byte目にする為にフラグをtrueにする isWideCharMode = true; } } logger.dump("SJIS判定処理終了"); // System.out.println(sb.toString()); // 読み込んでUTF-16に変換した文字列をConvertResultにセットします logger.dump("セットする値=" + sb.toString()); setSjisConvertResult(sb.toString()); // UTF-16に変換して返却 return new ByteArrayInputStream(sb.toString().getBytes("UTF-16")); }
https://w.atwiki.jp/ohden/pages/353.html
文字コード関係まとめ Unicode 表記 Microsoftコードページ 文字集合と符号化方式 S-JIS CP932 マイクロソフト標準キャラクタセットをシフト符号化表現 JIS CP50220 マイクロソフト標準キャラクタセットをRFC1468符号化表現 EUC CP51932 マイクロソフト標準キャラクタセットをGR表現 Unicode(UTF-16LE) CP1200 UnicodeをUTF-16(LittleEndian)で符号化 UnicodeBE(Big-Endian) CP1201 UnicodeをUTF-16(BigEndian)で符号化 UTF-8 CP65001 UnicodeをUTF-8で符号化 『\u』『%u』って書いてあるのはUnicodeBE? http //www.syboos.jp/java/doc/EscapeString.html 更新日: 2011年10月13日 (木) 16時03分54秒 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/atyou/pages/73.html
文字コードの基本 http //itpro.nikkeibp.co.jp/article/lecture/20070209/261534/ Ascii Code http //homepage1.nifty.com/tabotabo/ccc/asci.htm 文字コードの話 http //euc.jp/i18n/charcode.ja.html Unicodeでのバックスラッシュと¥の違い http //likealunatic.jp/2008/01/10_unicode.php 使用したコード JIS X 02132000-2004 surrogate pairs http //w3.kcua.ac.jp/~fujiwara/jis2000/jis2004/jisx0213-2004-surro.html JIS2000-2004情報 http //w3.kcua.ac.jp/~fujiwara/jis2000/ Shift_JIS 文字コード表 http //hp.vector.co.jp/authors/VA039433/shift_jis-table.html 文字コード表 シフトJIS(Shift_JIS) http //charset.7jp.net/sjis.html JIS X 0213 FAQ http //seclan.dll.jp/ccjx0213.htm [ThinkIT] 第1回:Windows Vistaだと何が起こるのか (1-3) http //www.thinkit.co.jp/free/article/0707/14/1/ シフトJIS キャラクタコード表 http //www.tamasoft.co.jp/ja/general-info/sjis2.html 文字コードについて(シフトJISの問題) http //park3.wakwak.com/~ozashin/sw_tips/webapp_tips/sjis_charset.html JIS X 0213 - Wikipedia http //ja.wikipedia.org/wiki/JIS_X_0213 Shift-JISとUnicodeの相互変換 http //www.astralsystem.com/ud/jis2uni.html VistaでUnicode以外の選択肢はなかったのか?──京大の安岡助教授が語る:ITpro http //itpro.nikkeibp.co.jp/article/COLUMN/20061222/257650/ Vistaで化ける字,化けない字:ITpro http //itpro.nikkeibp.co.jp/article/COLUMN/20061211/256519/ 文字コードの識別 http //www.asahi-net.or.jp/~ax2s-kmtn/ref/code_id.html @IT:Windows TIPS -- Tips:文字コードを変換する http //www.atmarkit.co.jp/fwin2k/win2ktips/395codeconv/codeconv.html
https://w.atwiki.jp/rubymemo/pages/13.html
標準添付ライブラリ http //doc.okkez.net/static/192/library/csv.html ruby 1.9でインターフェイス変更 require "csv" array_of_array = CSV.read("file.csv") 読み込み array_of_array = CSV.read(path) # ファイルを読み込み array_of_array = CSV.parse(string) # 文字列を読み込み array_of_array = CSV.new(io).read # ioから読み込み array_of_array = CSV.parse(string, col_sep = "\t") # タブ区切りの場合 書き込み CSV.open(path, "w"){|csv| ...} # ファイルに書き込み string = CSV.generate{|csv| ...} # 文字列を生成 csv.puts ["a", "b", "c"] # csvオブジェクトへの行書き込み csv ["a", "b", "c"] # 同上 文字コード array_of_array = CSV.read(path, encoding "utf-8") # utf-8ファイルの読み込み 備考 1.8ではCSV.parse(string) が誤作動する場合があるので注意 (参考)
https://w.atwiki.jp/mlnk/pages/38.html
文字コード 画像の横軸が上位1バイト、縦軸が上位1バイト。 CP932 Microsoft独自のShift_JIS拡張。 シングルバイトは0x00~0x7Fおよび0xA1~0xDF。(unsigned char)((code^0x3F)-0xE0) 0xBF 第一バイトは0x81~0x9Fおよび0xE0~0xFC。(unsigned char)((code^0x20)-0xA1) =0x3B 第二バイトは0x40~0x7Eおよび0x80~0xFC。((unsigned char)(code-0x40) =0xBC) (code!=0x7F) http //unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT CP932の文字コード分布 CP932をUnicodeに変換した場合の文字コード分布 『』
https://w.atwiki.jp/dragonkiller/pages/207.html
文字コード ▲トップへ戻る 目次 文字コード/目次概要/主な種類/キーワード ショップ/Shift_JIS/UTF-8/EUC-JP ポータルサイト/Shift_JIS/UTF-8/EUC-JP 検索エンジン/Shift_JIS/UTF-8/EUC-JP ホームページ/Shift_JIS/UTF-8/EUC-JP ブログ/Shift_JIS/UTF-8/EUC-JP WIKI/Shift_JIS/UTF-8/EUC-JP 掲示板/Shift_JIS/UTF-8/EUC-JP テンプレート/Shift_JIS/UTF-8/EUC-JP 参考資料 脚注 関連項目 外部リンク 検索/キーワード/画像/掲示板 概要 主な種類 Shift_JIS UTF-8 EUC-JPUNIXなど使用 キーワード ■文字コードの選択 サーバーの動作環境で異なる ■文字化け 異なる環境から移行(引越し)した場合に影響があると思われる ■アドレス 日本語を用いたアドレスはそのまま使えない URLアドレスをデコード ショップ Shift_JIS ■Amazon.co.jp http //www.amazon.co.jp/ ■ビックカメラ.com http //www.biccamera.com/ ■ソフマップ.com http //www.sofmap.com/ UTF-8 ■ヨドバシ.com http //www.yodobashi.com/ EUC-JP ■DMM http //www.dmm.com/ ■楽天市場 http //www.rakuten.co.jp/ ポータルサイト Shift_JIS ■@nifty http //www.nifty.com/ ■Excite エキサイト http //www.excite.co.jp/ UTF-8 ■Yahoo! JAPAN http //www.yahoo.co.jp/ ■はてな http //www.hatena.ne.jp/ ■BIGLOBE http //www.biglobe.ne.jp/ EUC-JP ■Infoseek楽天 http //www.infoseek.co.jp/ 検索エンジン Shift_JIS UTF-8 ■google http //www.google.com/ ■yahoo http //search.yahoo.co.jp/ ■fc2 http //search.fc2.com/ ■楽天ウェブ検索 http //search.www.infoseek.co.jp/ EUC-JP ホームページ Shift_JIS ■Yahoo!ジオシティーズ http //geocities.yahoo.co.jp/ ■infoseek isweb http //isweb.www.infoseek.co.jp/ UTF-8 EUC-JP ■FC2WEB http //www.fc2web.com/ ブログ Shift_JIS UTF-8 ■liveddor http //blog.livedoor.com/ ■楽天 http //plaza.rakuten.co.jp/ ■Excite ブログ http //www.exblog.jp/ EUC-JP ■yahoo http //blogs.yahoo.co.jp/ ■fc2 http //blog.fc2.com/ ■goo ブログ http //blog.goo.ne.jp/ ■はてなダイアリー http //d.hatena.ne.jp/ ■Ameba (アメーバ) http //ameblo.jp/ WIKI Shift_JIS UTF-8 ■AWikipedia http //ja.wikipedia.org/ ■@ウィキ http //atwiki.jp/ ■fc2 http //wiki.fc2.com/ EUC-JP ■livedoor wiki http //wiki.livedoor.com/ 掲示板 Shift_JIS ■2ちゃんねる http //2ch.net/ UTF-8 EUC-JP テンプレート Shift_JIS UTF-8 EUC-JP 参考資料 脚注 関連項目 外部リンク 検索 キーワード ■Google 文字コード 画像 ■Google AAA BBB ■Flicker AAA BBB 掲示板 ■2ちゃんねる 文字コード
https://w.atwiki.jp/chapati4it/pages/73.html
CSVファイルを読み込むサンプル サンプルダウンロード CsvRead.java CsvRead.csv CSVファイルの内容 "1","CSV読込の","2011/01/01" "2","テスト中","2012/10/01" "3","読み込めてますかー","2010/09/10" "4","もっと行を","2011/01/01" "5","増やしてみましょう","2012/10/01" "6","これぐらいかな?","2010/09/10" 実行結果 [1, CSV読込の, 2011/01/01] [2, テスト中, 2012/10/01] [3, 読み込めてますかー, 2010/09/10] [4, もっと行を, 2011/01/01] [5, 増やしてみましょう, 2012/10/01] [6, これぐらいかな?, 2010/09/10] ソース import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class CsvRead { public static void main(String[] args) { List String[] list = readCsv(new File("CsvRead.csv")); for (String[] ary list) { System.out.println(Arrays.toString(ary)); } } // CSVファイルを読み込んで、String配列のリストとして返します。 public static List String[] readCsv(File f) { List String[] list = new ArrayList String[] (); try { FileInputStream s = new FileInputStream(f); // 文字コードを変える場合は、InputStreamReaderの第二引数を変更するとよいです。 InputStreamReader r = new InputStreamReader(s, "Shift_JIS"); BufferedReader br = new BufferedReader(r); String line; while((line = br.readLine()) != null) { line = line.substring(1, line.length() - 1); String[] ary = line.split("\",\""); list.add(ary); } br.close(); r.close(); s.close(); } catch (IOException e) { e.printStackTrace(); } return list; } } 解説 CSVファイルを一行ずつ読み込みます。 一行の先頭と末尾の「"」を取り除くため、substringを使っています。 line = line.substring(1, line.length() - 1); "hoge","moge","mage" → hoge","moge","mage 先頭と末尾の「"」を取り除いた文字列を、「","」で分割すると、綺麗に各項目に別れます。 String[] ary = line.split("\",\""); hoge","moge","mage → hoge moge mage