| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Java ファイルの文字コードを判別する」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
(ページの作成:「==Java ファイルの文字コードを判別する== [Java]{{category 文字化け}} ===JISAutoDetect=== *http://d.hatena.ne.jp/onozaty/20051214/p1 ===juniversa…」)
 
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
==Java ファイルの文字コードを判別する==
+
==[[Java ファイルの文字コードを判別する]]==
[Java]{{category 文字化け}}
+
[[Java]] | [[Category:文字化け]]
  
 
===JISAutoDetect===
 
===JISAutoDetect===
15行目: 15行目:
 
      
 
      
 
     int nread;
 
     int nread;
     while ((nread = fis.read(buf)) > 0 && !detector.isDone()) {
+
     while ((nread = fis.read(buf)) > 0 && !detector.isDone()) {
 
         detector.handleData(buf, 0, nread);
 
         detector.handleData(buf, 0, nread);
 
     }
 
     }

2020年2月16日 (日) 04:27時点における最新版

Java ファイルの文字コードを判別する

Java |

JISAutoDetect

juniversalchardet

public static String detectFileEncoding(File file) throws IOException  {
    String result = null;
    byte[] buf = new byte[4096];
    FileInputStream fis = new FileInputStream(file);
    UniversalDetector detector = new UniversalDetector(null);
    
    int nread;
    while ((nread = fis.read(buf)) > 0 && !detector.isDone()) {
        detector.handleData(buf, 0, nread);
    }
    detector.dataEnd();
    
    result =  detector.getDetectedCharset();
    detector.reset();
    
    return result;
}