2 myc 100 myc_100 于 2013.06.04 11:03 提问

当复制 android 文件时未发现异常

我使用的下面的代码:

public synchronized void onActivityResult(final int requestCode, int resultCode,
        final Intent data) {
     String filePath = null;
     if (resultCode == Activity.RESULT_OK) {
         switch (requestCode) {
         case RESULT_MEMORY_SAVE:               
             filePath = data.getDataString();
             copyFileForReceipts(filePath,pathOfReceipts);

filePath 是一个字符串,Debugger 显示它的值"content://media/external/images/media/133"

然后我使用的是:

sourceLocation  = filePath;
File afile = new File(sourceLocation); 
File bfile = new File(targetLocation + "file.jpg");
inStream = new FileInputStream(afile.getName()); //Gives exception
outStream = new FileOutputStream(bfile.getName());

给出FileNotFound异常,我把 .getName() 也移除了。请问哪里出错呢?

2个回答

luhuajcdd
luhuajcdd   2013.06.04 13:11
已采纳

content://media/external/images/media/133 这个不是文件路劲, 在android里面可以通过ContentResolver 获取得到具体的内容

shaojie519
shaojie519   2013.06.04 14:04
File afile = new File(uri.getPath());
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
jasperreports 抛出 NoClassDefFoundError:net.sf.jasperreports.functions.standard.DateTimeFunctions 解决方法
使用 Jaspersoft Studio 设计好了报表模板并测试通过,然而在集成到应用中时抛出 NoClassDefFoundError:net.sf.jasperreports.functions.standard.DateTimeFunctions 错误。1 分析因为报表中有用到 DATEFORMAT 日期格式化函数,所以应该是相关的 jar 没有引入的缘故。2 解决在中央库中找不到 jaspe
VS发布出现 错误 X 未能将文件 复制到 未能找到文件
在VS发布时出现下面问题  总结后 发现两种解决方案 1. 将该文件所在的文件夹从项目中移除 可以顺利的发布 ,    不过在发布成功的文件夹中添加被移除的文件夹,此种方法适合批量文件未找到。 2.如上图找到对应文件 右键从项目中排除,发布即可正常使用,不需要重新拷贝,适合少量文件找不到的操作
未能进入中断模式,原因如下:源文件“e:/.../.cs”不属于正在调试的项目。
遇到的问题: 未能进入中断模式,原因如下:源文件“e:/.../aaaa.cs”不属于正在调试的项目。 通常,这种情况会发生在以下时候:当启动调试会话前未重新生成项目时,当项目的程序集文件过期时, 或当项目源文件在项目生成之后到调试会话启动之前的这段时间已被移动到其他磁盘位置时。 对于此调试会话将禁用“编辑并继续” 解决方案: 打开该解决方案后,点菜单栏“生成”——>“重新生成解决方案
sublime/android studio复制整行到下一行
sublime: 复制整行到下一行 ctrl + shift +D Android studio 复制到下一行 ctrl + D
压缩解压文件异常
来源:http://www.myexception.cn/program/1054069.html 1、ZIP文件解压的时候出现错误:‍Negative seek offset    原因:把rar文件直接改为ZIP    必须要 重新压缩为ZIP文件 不能直接修改文件名 2、Exception in thread "main" java.lang.NoSuchMethodEr
SQL事务发布错误:当 IDENTITY_INSERT 设置为 ON 或某个复制用户向 NOT FOR...
当 IDENTITY_INSERT 设置为 ON 或某个复制用户向 NOT FORREPLICATION 标识列中插入内容时,必须为表 'test' 中的标识列指定显式值lxg:跟出发器有关如果不是发布,就1.set identity_insert test on--取消自增2.insert into test(ID,username) values(1003,'test'3.set identity_insert test off--恢复自增insert into test values('1010222
android____利用源码导出成apk及apk安装时显示‘应用程序未安装’的处理办法
首先,android导出成apk的背景:同事在网上找的apkjava源码,需要生成apk 方法1:直接使用adt自带的android tools中的生成安卓apk功能,选择导出文件位置等。 方法2:运行源码项目。然后用模拟机测试。测试成功可以使用后,在项目bin文件下会出现一个apk,此apk是编译后的apk,发现比上面生成的apk大可12KB。 至于安装apk时一直显示安装
CF223 div2 (C)给出m个操作,1表示在串中添加一个数,2表示将前面长度为l的串复制c次添加到串尾。有n个查询,问你第i个数是什么
#include #include #include #include #include #include #include #include #define LL long long //CF223 div2 (C) #define N 100100 using namespace std; /* 题意:给出m个操作,1表示在串中添加一个数,2表示将前面长度为l的串复制c次添
复制一个android studio工程并且得命名时,R文件找不到
复制一个android studio工程并且得命名时,会有R文件找不到的情况,要记得有个地方要改,就是AndroidManifest.xml中一定要把包名改回来,否则.手工改R文件的包名和R的上级目录也是没用的.还有一个要改的就是在activity_main.xml中可能有包要改的!众所周知,R文件是项目开发中自动生成、自动编译的,不可手动编译。R文件在Eclipse中很好找到,但在Android...
【原创】Android下未root时导出data/app目录下APK的方法
一、背景 很多时候,APK文件只存在于应用市场,在PC上无法直接下载。用手机下载下来后就直接安装了,也不能保存原始的APK文件。 APK安装到手机后,Android系统会保存一份和原始APK一模一样的拷贝,位于data/app目录,文件名为“APK的包名-1.apk”或者“APK的包名-2.apk”。这里的包名即 package name,形如 com.xxx.xxx。 data