Nom d'ordre Unicode et FileReader
Lors de la lecture d'un fichier codé en UTF-8 avec une marque d'ordre d'octet (BOM), vous pouvez rencontrer le problème du marqueur de nomenclature étant sorti avec le contenu du fichier. Cela se produit car Unicode définit une nomenclature pour spécifier le caractère boutien du texte codé, qui peut être interprété comme une séquence de caractères s'il n'est pas géré correctement.
Dans votre extrait de code :
Pour éviter que le marqueur de nomenclature soit inclus dans la sortie :
String content = new String(Files.readAllBytes(Paths.get(file)), "UTF-8"));
if (tmp.length >= 3 && tmp[0] == (byte) 0xEF && tmp[1] == (byte) 0xBB && tmp[2] == (byte) 0xBF) { // Remove the BOM marker tmp = Arrays.copyOfRange(tmp, 3, tmp.length); }
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!