目前我需要Android应用中的本地http文件服务器,我决定使用NanoHttpd SimpleWebServer。但我遇到了这样的例外:
$str =~ s/(^[0-9]+\/)/$1\//;
崩溃部分实际上是静态构造函数
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[])' on a null object reference
at fi.iki.elonen.SimpleWebServer.<clinit>(SimpleWebServer.java:83)
显然,库正在尝试加载某些许可证文件但是失败了。因此,服务器未创建且未启动。
有人知道如何克服这个问题吗?提前致谢!
(我使用Android Studio 1.5.1并通过gradle依赖static {
mimeTypes();
InputStream stream = SimpleWebServer.class.getResourceAsStream("/LICENSE.txt");
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int count;
String text;
try {
while ((count = stream.read(buffer)) >= 0) {
bytes.write(buffer, 0, count);
}
text = bytes.toString("UTF-8");
} catch (IOException e) {
text = "unknown";
}
LICENCE = text;
}
包含库)
答案 0 :(得分:1)
没有创建Seams InputStream。可能是因为类加载器无法找到LICENSE.txt或者没有足够的权限。