[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?
2022-01-30 07:31:58
質問
Javaで、ディレクトリのテキストベースのファイルを読み込む簡単なワードカウントのプログラムを作っています。
しかし、エラーが出続けています。
java.nio.charset.MalformedInputException: Input length = 1
このコードの行から
BufferedReader reader = Files.newBufferedReader(file,Charset.forName("UTF-8"));
を使ったから多分こうなるんだろうとは思う。
Charset
で、テキストファイルに含まれない文字があり、その中には他の言語の文字が含まれているものもありました。しかし、私はそれらの文字を含めたいのです。
で後から知りました。
JavaDocs
となっていること。
Charset
はオプションで、ファイルをより効率的に読み取るためにのみ使用されるので、私はコードを変更しました。
BufferedReader reader = Files.newBufferedReader(file);
しかし、一部のファイルではまだ
MalformedInputException
. なぜかわからないけど。
と思っていたのですが、全部入りの
Charset
様々な種類の文字が含まれるテキストファイルを読むことができるようになります。
?
ありがとうございます。
解決するには?
おそらく、サポートされているエンコーディングのリストが必要でしょう。 各ファイルについて、UTF-8から順番にエンコーディングを試してみてください。 をキャッチするたびに
MalformedInputException
次のエンコーディングを試してみてください。
関連
-
[解決済み】javaで指定されたファイルが見つからない
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】エラー。Selection does not contain a main type
-
[解決済み】popBackStack()とreplace()の操作はどう違うのですか?
-
[解決済み】JLabelのテキストを中央に配置するには?
-
[解決済み】Javaで文字列をコピーするにはどうしたらいいですか?
-
[解決済み】 executeQuery()でデータ操作文が発行できない。)
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
-
[解決済み】Javaで(a != 0 && b != 0)よりも(a*b != 0)の方が速いのはなぜか?
-
[解決済み】UTF-8 byte[]から文字列への変換
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] if / for / while 内で "Missing return statement" が発生する。
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み】Javaの部分文字列:「文字列のインデックスが範囲外」。
-
[解決済み】デフォルトのキーストアファイルが存在しない?
-
[解決済み】Eclipseで「公開型 <<classname>> は独自のファイルで定義する必要があります」エラー【重複あり
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み】Java LinkedListでNodesを使用する
-
[解決済み] SQLエラー。0, SQLState: 08S01 通信リンクの失敗 [重複]。
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?