weixin_44640662 2022-06-27 09:21 采纳率: 72.7%
浏览 25
已结题

android APP 在手机存储卡里读写“.xls”文件的问题?

在我的手机APP里已经存在文件sf.xls, 我想通过如下代码将sf.xls这个文件复制到手机存储卡中(手机是华为mate30),但无法成功,请指点一下,谢谢!

try{
     Workbook wb1 = Workbook.getWorkbook(new File(getFilesDir(),"sf.xls"));
     WritableWorkbook book1 = Workbook.createWorkbook(new File(getExternalStorageDirectory(),"sf1111.xls"),wb1);
     book1.write();
     book1.close();
     wb1.close();
                } 
   catch (Exception e) {
     System.out.println(e);
                }

备注:

  1. 我通过以上类似代码将sf.xls在手机mainasset与File(getFilesDir())这两个地方 ,复制,读写,保存“.xls”文件都成功。
  2. 对于以上代码需要的存储卡权限,已经在manifest中部属。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.cpazhan">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="税法"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
  
</manifest>

  • 写回答

2条回答 默认 最新

  • yung7086 2022-06-27 11:21
    关注

    你的项目构建版本应该大于6.0了吧, ,你要获取在sd卡操作就必须动态申请存储权限,具体流程里百度,
    最好贴出错误日志

    多说一点.app相关的文件要存放到sd目录最好存放在该应用的私有目录下
    ,你这个复制到内存卡的目的是干啥?如果是为了用其他第三方app打开的话,那你应该去设置她的ContentProvider,而不是这样复制到sd根目录来规避权限

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月10日
  • 已采纳回答 7月2日
  • 创建了问题 6月27日

悬赏问题

  • ¥60 优博讯DT50高通安卓11系统刷完机自动进去fastboot模式
  • ¥15 minist数字识别
  • ¥15 在安装gym库的pygame时遇到问题,不知道如何解决
  • ¥20 uniapp中的webview 使用的是本地的vue页面,在模拟器上显示无法打开
  • ¥15 网上下载的3DMAX模型,不显示贴图怎么办
  • ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下:
  • ¥15 Mac(标签-IDE|关键词-File) idea
  • ¥15 潜在扩散模型的Unet特征提取
  • ¥15 iscsi服务无法访问,如何解决?
  • ¥15 感应式传感器制作的感应式讯响器