C'è qualche utilità che aiuta a leggere un file di testo nella risorsa in una stringa. Suppongo che questo sia un requisito popolare, ma non sono riuscito a trovare alcuna utilità dopo aver cercato su Google.
C'è qualche utilità che aiuta a leggere un file di testo nella risorsa in una stringa. Suppongo che questo sia un requisito popolare, ma non sono riuscito a trovare alcuna utilità dopo aver cercato su Google.
Risposte:
Sì, Guava fornisce questo nella Resourcesclasse. Per esempio:
URL url = Resources.getResource("foo.txt");
String text = Resources.toString(url, StandardCharsets.UTF_8);
getResourceè in uso Resource.class.getClassLoaderma nelle applicazioni Web, potrebbe non essere il "tuo" caricatore di classi, quindi è consigliabile (ad esempio in [1]) utilizzare Thread.currentThread().getContextClassLoader().getResourceAsStreaminvece (riferimento [1]: stackoverflow.com/questions/676250/… )
Resources.toString(MyClass.getResource("foo.txt"), Charsets.UTF_8)che garantisce l'uso del caricatore di classe corretto.
com.google.common.io.Resourcesè contrassegnato come instabile secondo SonarQube
guavaha cambiato l'implementazione. Per guava 23 l'implementazione piace seguire. ClassLoader loader = MoreObjects.firstNonNull( Thread.currentThread().getContextClassLoader(), Resources.class.getClassLoader());