Lors de la lecture d'un fichier codé en UTF-8 avec une nomenclature (marque d'ordre d'octet), le marqueur de nomenclature peut être involontairement inclus dans la chaîne de sortie. Pour résoudre ce problème, suivez ces étapes :
FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); String tmp = null; String content = ""; while ((tmp = br.readLine()) != null) { String text; if (tmp.startsWith("\uFEFF")) { // Skipping the BOM marker text = tmp.substring(1); } else { text = tmp; } content += text + System.getProperty("line.separator"); }
Dans ce code mis à jour :
En supprimant le marqueur BOM avant de l'ajouter à la chaîne de sortie, nous pouvons l'empêcher d'apparaître dans le résultat final.
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!