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 Resources
classe. Per esempio:
URL url = Resources.getResource("foo.txt");
String text = Resources.toString(url, StandardCharsets.UTF_8);
getResource
è in uso Resource.class.getClassLoader
ma nelle applicazioni Web, potrebbe non essere il "tuo" caricatore di classi, quindi è consigliabile (ad esempio in [1]) utilizzare Thread.currentThread().getContextClassLoader().getResourceAsStream
invece (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
guava
ha cambiato l'implementazione. Per guava 23 l'implementazione piace seguire. ClassLoader loader = MoreObjects.firstNonNull( Thread.currentThread().getContextClassLoader(), Resources.class.getClassLoader());