単純に言えば、入力ファイルから行を読み込み、System.out文で読み取ったテキストを表示するJavaプログラムを作成する必要があります。ファイル内の行の1つが"ビットではありません"です。 Javaはこの行を「それはちょっとわかりません」と読みます。問題は、アポストロフィが"として読み取られていることです。私は多くのフォーラムの投稿を見ていて、アポストロフィに変換する解決策を見つけることができませんでした。私は "¢â、¬¢¢â、¬Å"とそれは入力がUTF - 8形式であることを意味したと言いましたか?これをSystem.outステートメントで正しく読み取れる形式に変換するにはどうすればよいですか。 また、問題の原因となる他のUTF-8エンコーディングテキストがある可能性があるため、すべての’をアポストロフィに変換するステートメントを強制することはできません。文字列を適切なエンコーディング形式に変換できません
0
A
答えて
1
Windows-1252エンコーディングを使用してファイルを読み取っているようです。 2つのエンコーディング標準間の変換を示す良いテーブルがあります。 http://www.i18nqa.com/debug/utf8-debug.html
実際には'
ではありませんが、実際には’
です。ファイルを読むときに使用するエンコードを指定できます。以下の例を参照してください。
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
public class ReadFile {
public static void main(String[] args) throws IOException {
final ReadFile readFile = new ReadFile();
readFile.read("Windows-1252");
readFile.read("UTF-8");
}
private void read(final String charsetName) throws IOException {
//Java 8 version
Files.lines(Paths.get("myFile.txt"), Charset.forName(charsetName)).forEach(System.out::println);
//Older Java version
final BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(new FileInputStream("myFile.txt"), charsetName));
String currentLine;
while ((currentLine = bufferedReader2.readLine()) != null) {
System.out.println(currentLine);
}
}
}
+0
これは私のために働いた。ありがとう! – user3858843
0
ファイルの読み取り中にエンコードを指定する場合は、これを試すことができます。
Reader reader = new InputStreamReader(new FileInputStream("path"), "UTF-8"));
関連する問題
- 1. 文字列をエンコーディング形式に変換する方法
- 2. iOSのNSArrayからNSStringの適切な形式に変換できません
- 3. yii1で配列を適切なjson形式に変換する
- 4. 文字列をdatetime形式に変換
- 5. 変換パイプは、C#でカンマ区切り形式に文字列を区切り
- 6. 文字列を文字列に変換できません[
- 7. Base64文字列を変換できません。適切に解凍しません。
- 8. 文字列を適切なデータ型に変換します
- 9. jsonを文字列形式に解析できません
- 10. Delphi-7:yyyymmdd形式の文字列(区切り記号なしの形式)をDateTimeオブジェクトに変換します
- 11. データフレームの変数を適切な形式に変換する
- 12. 日付形式はデータ形式で変換できません
- 13. 変数を文字列形式に変換しますか?
- 14. 文字列リストを適切なリストに変換するには?
- 15. タイムスタンプは文字列形式では変更されません
- 16. 文字列形式の式を線(ジオメトリ)オブジェクトに変換する
- 17. 適切な形式
- 18. 文字列を配列に変換できません
- 19. 文字列をchar配列に変換できません
- 20. MVC View Image URL:ラムダ式を文字列に変換できません
- 21. pyspark文字列を日付形式に変換します
- 22. EBCDIC文字列をASCII形式に変換しますか?
- 23. 文字列をyyyyMMdd形式のDateTimeに変換します。
- 24. 文字列をPHPのmm-yyyy形式に変換します
- 25. 適切な文字エンコーディングでPythonでSQLファイルを読むには?
- 26. 数字の文字列を指数形式に変換する
- 27. Android:php形式で書かれたjsonオブジェクトに文字列を変換できません
- 28. httpWebresponseのコンテンツを適切な文字列形式で取得する方法は?
- 29. 浮動体と文字列を適切な形式で読み取る
- 30. Java - 適切な文字列をエスケープシーケンスとエスケープ文字に変換する
ファイルの作成に使用されるエンコーディングとは何ですか? – MordechayS