Android制作字符串表格String.xml转EXCEL工具

Android制作字符串表格String.xml转EXCEL工具publicstaticListgetAllExternalSdcardPath(){ListPathList=newArrayList();StringfirstPath=Environment.getExternalStorageDirectory().getPath();Log.d(TAG,”getAllExter

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

public static List<String> getAllExternalSdcardPath() {
        List<String> PathList = new ArrayList<String>();

        String firstPath = Environment.getExternalStorageDirectory().getPath();
        Log.d(TAG,"getAllExternalSdcardPath , firstPath = "+firstPath);

        try {
        // 运行mount命令,获取命令的输出,得到系统中挂载的所有目录
            Runtime runtime = Runtime.getRuntime();
            Process proc = runtime.exec("mount");
            InputStream is = proc.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            String line;
            BufferedReader br = new BufferedReader(isr);
            while ((line = br.readLine()) != null) {
                // 将常见的linux分区过滤掉
                if (line.contains("proc") || line.contains("tmpfs") || line.contains("media") || line.contains("asec") || line.contains("secure") || line.contains("system") || line.contains("cache")
                        || line.contains("sys") || line.contains("data") || line.contains("shell") || line.contains("root") || line.contains("acct") || line.contains("misc") || line.contains("obb")) {
                    continue;
                }

                // 下面这些分区是我们需要的
                if (line.contains("fat") || line.contains("fuse") || (line.contains("ntfs"))){
                    // 将mount命令获取的列表分割,items[0]为设备名,items[1]为挂载路径
                    String items[] = line.split(" ");
                    if (items != null && items.length > 1){
                        String path = items[1].toLowerCase(Locale.getDefault());
                        // 添加一些判断,确保是sd卡,如果是otg等挂载方式,可以具体分析并添加判断条件
                        if (path != null && !PathList.contains(path) && path.contains("sd"))
                            PathList.add(items[1]);
                    }
                }
            }
        } catch (Exception e){
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        if (!PathList.contains(firstPath)) {
            PathList.add(firstPath);
        }

        return PathList;
    }

想将Android应用中的多国语言翻译整理成一张excel表格来进行维护,或者校对,或者是给客户发一个语言对照说明表?一个个手动复制粘贴?那太LOW了吧,没有什么重复动作是一个程序员不能编程实现的,现在就上一个转换工具,可以将String.xml转换的EXCEL的.xls。当然也能将EXCEL直接转换成String.XML。废话不多说,直接上源码实例。

当然最要注意的是,你首先需要确定你的sd卡路径或者usb的路径。然后稍微改动代码中的路径就可以让你想放哪里就放哪里了。

也可以使用这个方法获取路径:

public static List<String> getAllExternalSdcardPath() {

        List<String> PathList = new ArrayList<String>();

        String firstPath = Environment.getExternalStorageDirectory().getPath();
        Log.d(TAG,”getAllExternalSdcardPath , firstPath = “+firstPath);

        try {

        // 运行mount命令,获取命令的输出,得到系统中挂载的所有目录
            Runtime runtime = Runtime.getRuntime();
            Process proc = runtime.exec(“mount”);
            InputStream is = proc.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            String line;
            BufferedReader br = new BufferedReader(isr);
            while ((line = br.readLine()) != null) {

                // 将常见的linux分区过滤掉
                if (line.contains(“proc”) || line.contains(“tmpfs”) || line.contains(“media”) || line.contains(“asec”) || line.contains(“secure”) || line.contains(“system”) || line.contains(“cache”)
                        || line.contains(“sys”) || line.contains(“data”) || line.contains(“shell”) || line.contains(“root”) || line.contains(“acct”) || line.contains(“misc”) || line.contains(“obb”)) {

                    continue;
                }

                // 下面这些分区是我们需要的
                if (line.contains(“fat”) || line.contains(“fuse”) || (line.contains(“ntfs”))){

                    // 将mount命令获取的列表分割,items[0]为设备名,items[1]为挂载路径
                    String items[] = line.split(” “);
                    if (items != null && items.length > 1){

                        String path = items[1].toLowerCase(Locale.getDefault());
                        // 添加一些判断,确保是sd卡,如果是otg等挂载方式,可以具体分析并添加判断条件
                        if (path != null && !PathList.contains(path) && path.contains(“sd”))
                            PathList.add(items[1]);
                    }
                }
            }
        } catch (Exception e){

            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        if (!PathList.contains(firstPath)) {

            PathList.add(firstPath);
        }

        return PathList;
    }

另外还需要附上源码的下载地址:

http://download.csdn.net/download/yql44137228/10215688


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171937.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何设置eclipse代码自动补全「建议收藏」

    如何设置eclipse代码自动补全「建议收藏」打开Eclipse-&amp;gt;Window-&amp;gt;Perferences找到Java下的 Editor下的 ContentAssist, 右边出现的选项中,有一个AutoactivationtriggersforJava:可以看到在默认情况下只有一个&quot;.“存在。表示:只有输入”.&quot;之后才会有代码提示在AutoactivationtriggersforJ…

    2022年5月6日
    44
  • C++中set用法详解

    C++中set用法详解1.关于setC++STL之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector,string,list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让用户…

    2022年5月11日
    45
  • 七彩虹智能主板设置U盘启动教程

    七彩虹智能主板设置U盘启动教程不同的电脑品牌主板进入 bios 的启动快捷键不同 在借助 u 盘安装系统的时候 我们经常会需要进 bios 调整 u 盘启动 有些网友不清楚七彩虹智能主板如何设置 u 盘启动 下面就给大家讲下七彩虹智能主板设置 U 盘启动教程 操作步骤 1 电脑开机后马上快速间断的按 Del 热键 一般左右下方有英文提示 如下图 2 键盘方向键往右移到 Boot 菜单上 下图 3 在 Boot 界面方向键往下移到 BootOption 1 上面按 enter 回车 4 然后选择 U 盘选项 按回车 5 接着按键盘上面的

    2025年11月6日
    1
  • 什么是车载以太网_车载以太网结构

    什么是车载以太网_车载以太网结构SOME/IP(ScalableService-OrientedMiddlewarEoverIP):是一种用于传输服务(Service)信息的基于IP的可伸缩中间件,能够适应基于不同操作系统的不同大小的设备,小到摄像头,大到车机或自动驾驶模块;相比于传统的CAN总线的面向信号的通信方式,SOME/IP是一种面向服务的通信方式。 DoIP:基于以太网的诊断传输协…

    2025年8月21日
    3
  • java递归结束条件_方法递归必须有结束条件

    java递归结束条件_方法递归必须有结束条件需求:希望递归结束后去更新UI界面。那什么时候才是递归结束呢。网上有人去判断一个固定参数,然后结束,简直莫名其妙,这个固定参数居然是随便乱取的,不科学。思路:根据判断i=0,收集size的值。通过i=0,收集到循环的长度,因为每个循环都有i=0的时候,而且都只有唯一一个,根据num能收集到循环总长度。代码:for(inti=0;i<((List)data).size()

    2022年9月18日
    3
  • 梦幻诛仙搭建教程_梦幻诛仙架设外网

    梦幻诛仙搭建教程_梦幻诛仙架设外网目前关于诛仙私服是否存在的争论还是在吵,但是我从网上找一一份诛仙私服架设教程,而且是比较傻瓜版的,新手也能看明白,发出来分享一下.本来准备自己架个自己玩的但看到SQL2005太大我的网速又慢就没装了等有机会搞来装装。如原著看到了别见怪我只是放这里自己留着看看。架设使用SQL数据库:SQLsever2005pro将服务器端解压缩到D:盘D:\Sagasevr下有6个文件夹1:databaseSQL…

    2022年10月5日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号