Tous,java.net.URLConnection.guessContentTypeFromStream et text/plain
Je suis en train d'identifier des fichiers texte avec des fins de ligne Mac et, à l'intérieur d'un InputStream, les convertir en silence à des fins de ligne Windows ou Linux (l'importante la partie est le personnage de LF, vraiment). Plus précisément, je travaille avec plusieurs API qui utilisent InputStreams et sont verrouillées pour rechercher \ n en tant que nouvelles lignes.
Parfois, j'obtiens des fichiers binaires. Évidemment, un fichier qui n'est pas textuel ne devrait pas avoir cette substitution, parce que la valeur qui correspond à \ r ne peut évidemment pas être suivie silencieusement par \ n sans mal gérer les choses.
Je tente d'utiliser java.net.URLConnection.guessContentTypeFromStream
et d'effectuer uniquement des conversions finales si le type est texte/brut. Malheureusement, "text/plain"
ne semble pas être dans sa gamme de valeurs de retour; tout ce que je reçois est null
pour mes fichiers texte plats, et il est peut-être pas sûr de supposer que tous les fichiers non identifiables peuvent être modifiés. Quelle meilleure bibliothèque (de préférence dans un référentiel public Maven et open-source) puis-je utiliser pour cela? Sinon, comment puis-je faire guessContentTypeFromStream pour moi? Je sais que je suis en train de décrire une application intrinsèquement dangereuse et qu'aucune solution ne peut être parfaite, mais devrais-je simplement traiter "null" comme étant "texte/plaine" et j'ai simplement besoin d'écrire moi-même plus de code 't?
+1 pour «gamut». – skaffman