android的项目里怎么规定文件路径的
比如我有一个放在res文件夹下的图片error.jpg,那么在java代码里应该怎么写这个文件的路径呢...
比如我有一个放在res文件夹下的图片error.jpg,那么在java代码里应该怎么写这个文件的路径呢
展开
展开全部
方法一:把目标文件放入resources文件中,以通过读取R的资源文件来获取,具体方式如下:
1、在res下新建raw文件,将带读取文件添加到raw文件目录下。
2、添加如下代码:
// 如果要使用文件名获取文件数据:首先获取资源id然后再通过id获取输入流
InputStream im = getResources().openRawResource(R.raw.h_data11);
BufferedReader read = new BufferedReader(new InputStreamReader(im));
String line = "";
StringBuilder sb = new StringBuilder();
try {
while((line = read.readLine()) != null) {
sb.append(line).append("\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if(read != null) {
try {
read.close();
read = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if(im != null) {
try {
im.close();
im = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
Log.v("", "result = " + sb.toString());
方法二:使用assets 只读文件进行读取。
1、将文件copy到assets下,可以新建文件夹如:“www”然后将文件放入www文件夹中,读取的path为:"www/filename"
String result = "";
ObjectInputStream ois = null;
AssetManager am = context.getResources().getAssets();
try {
ois = new ObjectInputStream(am.open("www/filename"));
result = (String) ois.readObject();
} catch (StreamCorruptedException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
try {
if (ois != null) {
ois.close();
ois = null;
}
} catch (IOException e) {
e.printStackTrace();
}
}
以对象的方式读取文件中的数据,如果没有新建文件夹,把前面的“www/”去掉就ok啦
以上方式我都还有疑问的地方:
1、raw下新建多级目录是否真的不能够使用。
1、在res下新建raw文件,将带读取文件添加到raw文件目录下。
2、添加如下代码:
// 如果要使用文件名获取文件数据:首先获取资源id然后再通过id获取输入流
InputStream im = getResources().openRawResource(R.raw.h_data11);
BufferedReader read = new BufferedReader(new InputStreamReader(im));
String line = "";
StringBuilder sb = new StringBuilder();
try {
while((line = read.readLine()) != null) {
sb.append(line).append("\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if(read != null) {
try {
read.close();
read = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if(im != null) {
try {
im.close();
im = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
Log.v("", "result = " + sb.toString());
方法二:使用assets 只读文件进行读取。
1、将文件copy到assets下,可以新建文件夹如:“www”然后将文件放入www文件夹中,读取的path为:"www/filename"
String result = "";
ObjectInputStream ois = null;
AssetManager am = context.getResources().getAssets();
try {
ois = new ObjectInputStream(am.open("www/filename"));
result = (String) ois.readObject();
} catch (StreamCorruptedException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
try {
if (ois != null) {
ois.close();
ois = null;
}
} catch (IOException e) {
e.printStackTrace();
}
}
以对象的方式读取文件中的数据,如果没有新建文件夹,把前面的“www/”去掉就ok啦
以上方式我都还有疑问的地方:
1、raw下新建多级目录是否真的不能够使用。
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
Android和ARM、Linux之间存在密切的联系。Android是一种基于Linux内核的嵌入式智能操作系统,它采用了ARM处理器作为其主要处理器架构。Android的内核和许多应用程序都是基于ARM架构编写的,包括处理器和内存管理器。...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
展开全部
关键看你的error.jpg放在哪个了,res目录下一般会有好几个文件夹,其中drawable、drawable-hdpi、drawable-ldpi、drawable-mdpi、drawable-xhdpi这些都是用来存放图片文件的,在使用的时候,只需要获取你所在activity的上下文context,然后调用context.getResources().getDrawable(R.drawable.error);就可以拿到这个图片了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
图片一般放在res下的drawable,drawable-hdpi,drawable-mdip等文件夹中,代码中调用方式为找id而不是路径,如R.drawable.error
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getResources().openRawResource(R.raw.error);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询