Code Java qui lit les données json avec des caractères tronqués : (Recommandé : tutoriel vidéo Java)
//从json文件中读取数据 StringBuffer stringBuffer = new StringBuffer(); try { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file))); String line; while((line=bufferedReader.readLine()) != null) { stringBuffer.append(line); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //开始解析 JSONObject jsonObject = new JSONObject(stringBuffer.toString());
Solution
selon Selon la description en ligne, le fichier est défini sur le codage UTF-8, mais s'il est enregistré en tant que fichier codé UTF-8, il y aura 3 octets supplémentaires de données identifiant le type de codage dans l'en-tête du fichier, provoquant le JSONObject l'objet ne peut pas être analysé. La raison : ce n'est pas le début.
Idée : On l'ouvre en éditant, et le format d'encodage UTF-8 s'affiche normalement. Ensuite on utilise l'outil d'édition binaire pour supprimer l'identifiant UTF-8 EF BB BF dans l'en-tête du fichier, puis dans. le code, utilisez InputStreamReader pour laisser le flux de données de l'encodage UTF-8 être utilisé dans le processus de conversion du flux d'octets en flux de caractères
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
Pour plus de connaissances sur Java, veuillez prêter attention au tutoriel de base Java colonne.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!