我有一个文件,我打包在我的JAR文件中,但我无法弄清楚如何读取文本文件并将其存储到String变量中。 任何人的想法?
答案 0 :(得分:2)
我会推荐
java.lang.Class#getResource(java.lang.String) 要么 java.lang.Class#getResourceAsStream(java.lang.String)
答案 1 :(得分:1)
这种方法适用于任何jar文件,即使它不在你当前的项目/库/类路径中:
String myJarFilename ="C:\\path\\to\\myfile.jar";
JarFile jarFile = new JarFile(myJarFilename);
JarEntry jarEntry = jarFile.getJarEntry("mytextfile.txt");
if (jarEntry != null)
{
InputStream is = jarFile.getInputStream(jarEntry);
// do normal stuff here to read string from inputstream
InputStreamReader isr = new InputStreamReader(is);
byte[] charArr = new byte[2048];
int bytesRead = 0;
StringBuffer sb = new StringBuffer();
while (bytesRead = is.read(charArr, 0, 2048) > 0)
{
sb.append(charArr, 0, bytesRead);
}
String fileContent = sb.toString();
}
答案 2 :(得分:0)
您可以使用URLClassLoader访问JAR存档中的资源。