Android: 如何访问项目文件夹下的文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android: 如何访问项目文件夹下的文件相关的知识,希望对你有一定的参考价值。
比如项目结构如下:
TestAPP
|----src
| |----Util.java
。。。 。。。
|----resource //自建文件夹
| |-----a.txt //自建文件
我不知道这个程序最后会被安装到哪里。我想要在Util.java中访问resource文件夹下的
a.txt文件, 读入文件流。应该怎么写。请高手指教。谢谢。
assets的读取方式:
1. 先在Activity里面调用getAssets() 来获取AssetManager引用。
2. 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStream。
3. 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close() 。
4.调用AssetManager.close() 关闭AssetManager。
需要注意的是,来自Resources和Assets 中的文件只可以读取而不能进行写的操作。 参考技术A 直接到tomcat.apache.org下载个tomcat,
然后通过netbeans把你的web工程导出个war,我想netbeans应该有这个功能,放到tomcat的webapps下面
启动新装的tomcat,应该就可以了。
不过如何你要同时启动netbeans tomcat和新安装的tomcat,可能需要配置一下server.xml改一下端口,否则端口会冲突的
参考技术B android支持携带写入和读取,但是不是这么简单,一般我们会用raw或assest两个文件夹来携带进SDcard。。我这篇文章看看吧~
http://hi.baidu.com/%C1%D6%B5%74%B3%CE01/blog/item/5d5a471d25e93c13314e15e7.html本回答被提问者采纳
关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
找了这么久资料,总算解决了
感谢博客园:http://www.cnblogs.com/xsht/p/5275081.html
在有Struts部署的Java EE环境中,我们一般把jsp页面写在WebRoot\\WEB-INF\\content 目录下,这样使得jsp页面一定需要struts的控制转发才可访问,提高页面安全性。
但是今天在jsp页面中应用WebRoot目录中的css,js文件发现十分困难,先看看我的文件结构:
目标是在index.jsp中访问default.css。
defautl.css是在index.jsp目录的父目录的父目录的CSS目录下。所以我这样写:
ps:空格为故意添加
<link href="../ ../css/default.css" rel="stylesheet" type="text/css"/> <link href="../ ../css/uploadify.css" rel="stylesheet" type="text/css"/>
在Eclipes中也出现超链接提示,说明目录正确,但是结果失败。
查询资料后,在百度百科中看到:
http://baike.baidu.com/view/1745468.htm
TomCat 服务器下的WEB-INF文件夹是一个非常安全的文件,在页面中不能直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
从上面的实验可以看出,不但是直接访问,使用" ../ ../ "之类的间接访问也不能成功。
在此多方查询资料之后,尝试使用如下方法访问:
<!-- 输出为项目根目录,即WebRoot --> <%String path = request.getContextPath(); %> <link href="${path}/css/default.css" rel="stylesheet" type="text/css"/> <link href="${path}/css/uploadify.css" rel="stylesheet" type="text/css"/>
果不其然,页面成功读出了css文件中的样式,达到目的。
不过此页面中存在java脚本,不够规范,查询资料后,用以下纯EL表达式实现:
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/> <link href="${path}/css/default.css" rel="stylesheet" type="text/css"/> <link href="${path}/css/uploadify.css" rel="stylesheet" type="text/css"/>
先将ContextPath放如page中,再使用el表达式取出,问题得以解决。
但是,也有不少程序猿是在用Struts_2的标签,要做到上面的效果,就有区别了
Struts_2的标签要访问到 pageContext.request.contextPath,写法上就与jstl的有区别
<s:set value="#request.get(\'javax.servlet.forward.context_path\')" var="cssPath" scope="page"/> <link rel="stylesheet" href="${cssPath}/css/index.css" />
Struts_2标签set的value属性要进行访问对象,语法就是 value="#对象" 或者 value="%{对象}"两种写法
----------------------------------------------------------------------
(over)
以上是关于Android: 如何访问项目文件夹下的文件的主要内容,如果未能解决你的问题,请参考以下文章