Comment puis-je lire un .fichier txt en un seul Java string tout en conservant les sauts de ligne?

Pratiquement chaque exemple de code y lit un fichier TXT, ligne par ligne, et il les stocke dans un tableau de chaînes. Je ne veux pas ligne par ligne de traitement parce que je pense que c'est un gaspillage inutile de ressources pour mes besoins: Tout ce que je veux faire est de rapidement et efficacement le vidage de l' .txt contenu dans une seule Chaîne. La méthode ci-dessous fait le travail, mais avec un inconvénient:

private static String readFileAsString(String filePath) throws java.io.IOException{
    byte[] buffer = new byte[(int) new File(filePath).length()];
    BufferedInputStream f = null;
    try {
        f = new BufferedInputStream(new FileInputStream(filePath));
        f.read(buffer);
        if (f != null) try { f.close(); } catch (IOException ignored) { }
    } catch (IOException ignored) { System.out.println("File not found or invalid path.");}
    return new String(buffer);
}

... l'inconvénient est que les sauts de ligne sont convertis en long espaces par exemple, " ".

Je veux les sauts de ligne pour être converti à partir d' \n ou \r <br> (balise HTML) à la place.

Vous en remercie d'avance.

J'ai essayé d'ajouter cette méthode pour convertir les sauts de ligne du fichier texte au format HTML <br> balises, mais il ne fonctionne pas: string.replaceAll("(\r\n|\n)", "<br />");
Traitement ligne par ligne sera tout aussi efficace (si ce n'est plus) que le dumping, l'ensemble du fichier, puis de revenir et de remplacer les sauts de ligne avec <br/> tags
Vraiment, une boucle en passant par chaque ligne est tout aussi efficace? Intéressant ... je pourrais aller avec le. Merci!
qu'est-ce que l'encodage des données de caractère dans le fichier?
Où sont &nbsp;'s à venir? Il pourrait être enlevant l' \r et \n que vous cherchez à prendre soin de ici.

OriginalL'auteur slashline | 2011-05-25