- 締切済み
JAVA ファイル読み込みで文字化け発生
お世話輪になります。 JAVAでプログラムを作成しているのですが、文字化けが発生してしまいます。ファイルの読み込みには、apache.commons.ioのライブラリを使用しています。インターネット等で調べたのですが、調べた限りでは特にやり方に問題がないように思うのですが、特定のファイルを読み込もうとすると文字化けしてしまいます。 以下が実際のプログラムです。 import org.apache.commons.io.FileUtils; import org.apache.commons.io.LineIterator; ---------------------------------------------- 以下抜粋 ---------------------------------------------- LineIterator iterator = FileUtils.lineIterator("C:\aaa.txt", "EUC-JP"; while(iterator.hasNext()){ String line = iterator.nextLine().split(","); System.out.println(line); あるファイルは正しく読み込まれますが、あるファイルはよみこまれません。 どなたかご存知の方いらっしゃいませんでしょうか? 困っています。何卒よろしくお願いいたします。
- sowha5721
- お礼率0% (0/2)
- Java
- 回答数2
- ありがとう数0
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- Java:ファイルの読み込みはどれが速いのか?
ファイルの読み込み方法についてです. java.ioのBufferdReader.readline java.nioのCharBuffer(ファイルサイズ分のバッファサイズを指定して一気に読み込むことを想定) org.apache.commons.ioのFileUtils.readFileToString の3つを比較した場合,どれが最も高速にテキストファイルを読み込めるのでしょうか? 一見,BufferdReader.readlineだと1行読み込む度にディスクIOが発生するので,大きなサイズのテキストファイルであればあるほど遅くなるような気がします. 想定しているのは,1ファイル約10000行でサイズが3MBぐらい,それを数十万~数百万ファイル逐次読み込んでいく場合です. 回答よろしくお願いします.
- ベストアンサー
- Java
- Servletでcsvファイル読込
Servletからcsvファイルを読込む処理を作成しています。 しかし、FileNotFoundExceptionが発生してファイルを読込めません。 下記のように記述した場合、csvファイルはどこに置けばよいのでしょうか? いろいろファイルの置き場所を変えてはやってみましたがダメでした。 package action; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class MemberEntryAction extends Action{ public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { try { // 入力ストリームを作成。 FileReader fr = new FileReader("a.csv"); BufferedReader br = new BufferedReader(fr); // 読込みループ。 String line; // 読み込まれた1行。 while( (line = br.readLine()) != null ) { System.out.println(line); } // 入力・出力ストリームを閉じる。 br.close(); fr.close(); } catch ( FileNotFoundException e ) { System.out.println("FileNotFound!"); } return mapping.findForward("memberMenu"); } }
- ベストアンサー
- その他([技術者向] コンピューター)
- javaの文字化け
自分はプログラミング初心者です。以下のようなプログラムで新しいメモ帳ファイルに数字を出力しようとすると文字化けしてしまいます。どうすれば文字化けを直せるのでしょうか? よろしくお願いします。 import java.io.*; class Number { public static void main(String args[]) { try { FileOutputStream fos = new FileOutputStream(args[0]); DataOutputStream dos = new DataOutputStream(fos); int count = 0; int j = 1; do { dos.writeShort(j); j += 3; } while(++count < 15); fos.close(); } catch(Exception e) { System.out.println("Exception: " + e); } } }
- ベストアンサー
- Java
- 隠しファイルの扱い
Win環境で、隠しファイルを扱いたいと思っています。 java.io.FileクラスにてisHiddenというメソッドにてそのファイルが隠しファイル属性かどうかを判別できます。すなわち、(タブン)WinAPIを利用してファイル属性の取得を行っているのだと理解しています。 ということは、普通のファイルを隠しファイル属性にしたり、隠しファイルを作成するもしくは、隠しファイルをコピーして隠しファイルを作ることができてもいいのではないかと思っているのですが、org.apache.commons.io.FileUtils 等を利用しても今のところうまく行っていません。 なんとか、隠しファイルのコピー生成・変更等を行いたいと思っています。もし方法があればご教授よろしくお願いします。
- ベストアンサー
- Java
- CSV読み込み 文字化け
失礼いたします。 以前のログを見てエンコードを設定してみたのですが、出力が文字化けします。ローカルファイルを読み込んでコンソール出力しているだけなのですが・・・。 分かる方、よろしくお願いします。 -------------------ソースはここから import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; // import java.io.FileReader; FileReaderからInputStreamReaderに変更済み import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class ReadCSV { public static void main(String[] args) { try { File csv = new File("C:\\AP.csv"); // BufferedReader br = new BufferedReader(new FileReader(csv)); BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(csv),"EUC_JP")); // BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(csv),"MS932")); while (br.ready()) { String line = br.readLine(); StringTokenizer st = new StringTokenizer(line, ","); while (st.hasMoreTokens()) { System.out.print(st.nextToken() + "\t"); } System.out.println(); } br.close(); } catch (FileNotFoundException e) { キャッチ処理 }
- ベストアンサー
- Java
- javax.servlet.ServletExceptionが発生する(ファイルアップロード)
ファイルのアップロードをするために org.apache.commons.fileupload.FileItemFactory factory=new org.apache.commons.fileupload.disk.DiskFileItemFactory(); org.apache.commons.fileupload.servlet.ServletFileUpload upload=new org.apache.commons.fileupload.servlet.ServletFileUpload(factory); java.util.List<org.apache.commons.fileupload.FileItem> items=upload.parseRequest(request); としているのですが java.util.List<org.apache.commons.fileupload.FileItem> items=upload.parseRequest(request); の行で以下の例外が発生してしまいます。 メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 javax.servlet.ServletException: サーブレットの実行により例外を投げました 原因 java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:196) org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:358) org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126) BlobUploadProcess.doPost(BlobUploadProcess.java:8) javax.servlet.http.HttpServlet.service(HttpServlet.java:710) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) どのようにすれば解決できるでしょうか?
- ベストアンサー
- Java
- htmiファイルの文字化け
htmlファイルのメタタグを以下のように設定、ファイルの文字コードもShift_JISで保存し、 2つのサーバーへアップしたところ、片方のサーバー(hetemlのレンタルサーバー)では 文字化けせずに表示されるのですが、もう片方のサーバー(自前サーバー、CentOS)では 文字化けしてしまいます。 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> そこで文字化けする方のサーバーのhttpd.confの設定で AddDefaultCharset UTF-8 の部分をコメントアウトし、apacheを再起動したのですが、いっこうに文字化けが直りません。 この場合、何かほかの設定が影響してることなのでしょうか? ちなみに、文字化けするサーバーへ各ブラウザでアクセスしたところ 以下のように文字化けするブラウザとしないブラウザがあります。 FireFox 文字化け IE(9) 文字化けしない Chorome 文字化けしない ブラウザによって文字化けするしないの原因もよくわかりません。 どなたか、ご教授いただけると幸いです。 よろしくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- 【PHP】ファイル読み込みで「見えない文字」が発生する??
PHP初心者です。 不思議な現象を経験したため質問させていただきます。 ファイルから文字列を読むとき、どうしても先頭に「見えない」文字がついてしまいます。見えない文字とは空白ではなく容積ゼロの文字のことで一種の文字化けと思われます。 <PHPプログラム> <?php header('Content-Type: text/html; charset=UTF-8'); header('Content-Language: ja'); mb_internal_encoding("UTF-8"); mb_regex_encoding("UTF-8"); print "ここに発生→"; if($fp = @fopen("file.txt", "r")){ while( !feof($fp) ){ $line = trim(fgets($fp)); print "$line"; } @fclose($fp); } ?> <データファイルfile.txt の中身> ←ここ!1行目 2行目 3行目 <出力結果> ここに発生→←ここ!1行目2行目3行目 出力結果にカーソルを持って行き、矢印キーで動かしていただければ → と ← の間でカーソルが1回動かず、何かが「存在」していることが確認できると思います。 このような文字は初めての経験でわけがわかりません。予防策がありましたらお願いいたします。 <環境> レンタルサーバーはPHP4.4.4(UTF-8) ローカルはWin-XP(3台で確認) プログラムもデータファイルもUTF-8で書いています。 <ほか> その文字自体をここに載せようとしましたが「」に変換されてしまいました。これは一体何でしょう??
- ベストアンサー
- PHP
- 文字化けが発生する
Apache 2.0.54、PHP 5.0.4それから、MySQL 4.1.14でPHPのテスト環境をWindowsXP上に作りました。PHPとMySQLの設定ファイルで文字コードを、UTF-8に統一してほかのMySQL(4.0.12)からダンプしたファイルをUTF-8に変換した後にMySQL 4.1.14にインポートしました。 phpMyAdmin上からは文字化けなしにインポートしたファイルが見れるのですが、なぜか自分で書いたPHPスクリプトではデータ部分がすべて「?」に変わってしまいます。ブラウザの文字コードを変えても?で、試しにそのデータ部分のエンコードをPHP上から調べてみると「ASCII」になっていました。また、MySQLの環境変数のcharacter関係の変数はすべてUTF-8になっています。 データをUTF-8で出力したいのですが、どのようにすればいいでしょうか? 下が、コマンドラインから変数を参照した結果です。 mysql> SHOW VARIABLES LIKE 'char%'; +--------------------------+------+ | Variable_name | Value| +--------------------------+------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\Program Files\ MySQL\MySQL Server 4.1\share\charsets/ | +--------------------------+------+
- ベストアンサー
- MySQL