Je suis venu avec ce morceau de code pour émettre tous les morceaux de fichier texte avec un séparateur, mais la chaîne émise de Frist ont une marque double question au début,quel double point d'interrogation sur rxjava-string signifie?
Je ne sais vraiment pas où est cette double question marque proviennent de
par exemple ceci est mon contenu du fichier texte
test.txt
pieceOne;pieceTwo;pieceThree;
et ceci est ma sortie avec ;
delimiter dans la console:
??pieceOne
pieceTwo
pieceThree
et voici mon code:
public Observable<String> readFile(String filePath, String delimiter) {
return Observable.just(filePath)
.map(Paths::get)
.map(this::safeInitializeInputStream)//just initialize inputstream here
.flatMap(in -> readInputStream(in, delimiter))
.observeOn(scheduler);
}
private Observable<String> readInputStream(InputStream is, String delimiter) {
return StringObservable
.split(StringObservable.from(new InputStreamReader(is,
Charset.forName("UTF-8"))), delimiter);
}
toutes les idées seraient très appréciées.
Très probablement, le fichier provient d'un ordinateur Windows, a été enregistré par notepad.exe en tant que UTF-16 et les deux premiers caractères sont "marque d'ordre des octets", alias BOM. Ils doivent être '0xff'' 0xfe' normalement. Vérifiez dans une visionneuse hex. – 9000
@ 9000 ouais putain droit, merci plz postez votre commentaire comme une réponse pour que je puisse vous accepter –