我正在尝试访问项目目录中的文件,让我们调用它
src/main/project/foo/bar.txt
在班级MyClass
但是当我这样做时:
InputStream is = MyClass.class.getResourceAsStream("bar.txt");
使用InputStream做任何事情,例如
is.toString();
我得到NullPointerException
我也尝试过:
MyClass.class.getResourceAsStream("/bar.txt");
和
MyClass.class.getResourceAsStream("./bar.txt");
我需要做些额外的事情,因为文件与我调用它的类不在同一个包中吗?此应用程序部署在TomCat上,因此对文件路径的绝对引用是不切实际的。
编辑:对于将其标记为nullpointer的副本的人,我知道nullpointer是什么,显然它无法找到资源。至于为什么就是这种情况,我需要帮助搞清楚。
答案 0 :(得分:2)
如果您的班级位于MyClass.class.getResourceAsStream("bar.txt");
MyClass.class.getClassLoader().getResource("main/project/foo/bar.txt");
,那应该没问题。
如果您的资源位于项目中的不同文件夹而不是类使用:
MyClass.class.getClassLoader().getResource("package/<subpackage/>filename");
一般来说:
MyClass.class.getResourceAsStream();
据我所知,这可以在同一个项目中的任何地方使用。
myactivities = []
from urllib.error import HTTPError
for activity in client.get_activities(after = activities_from, before=activities_to):
print(activity)
print(activity.id, activity.start_date)
try:
temp = client.get_activity_streams(activity.id, types=types)
except urllib.error.HTTPError:
print("HTTPError")
myactivities.append(temp)
相对于myClass的位置运行,你无法改变它。