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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle number对应java数据类型BigDecimal

    oracle number对应java数据类型BigDecimal数据库中为number类型的字段,在java类型中对应的有Integer和BigDecimal都会出现;  经测试发现当数据库为sqlserver和DB2时,用getObject()取出来时Integer类型,但是oracle中取出来就会是Integer或者BigDecimal类型。原因是oracle与java类型对应于number长度有关。 遇到该类型问题,若要判断每

    2022年7月24日
    13
  • atitit.android模拟器使用报告

    atitit.android模拟器使用报告

    2021年12月4日
    49
  • ceres之LM算法「建议收藏」

    ceres之LM算法「建议收藏」Ceres作为一个优化算法库,在许多领域中有着至关重要的作用,比如slam系统中的优化问题-集束调整BA,就可以通过Ceres去实现,官方文档地址:http://ceres-solver.org/nnls_tutorial.html#bundle-adjustment本文主要是解析ceres中的LM算法过程,参考代码地址:https://github.com/ceres-solver/ceres-solver/tree/master/internal/ceres一、主要流程先贴个图,L.

    2022年10月1日
    2
  • redis雪崩和击穿_redis缓存雪崩

    redis雪崩和击穿_redis缓存雪崩缓存雪崩缓存雪崩是指在同一时间段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。解决方案:给不同的key的TTL添加随机值利用Redis集群提高服务的可用性给缓存业务添加将降级限流策略给业务添加多级缓存缓存击穿缓存击穿问题也叫热点key问题,就是一个被高并发并且缓存重建业务较复杂的key突然失效了,无数的请求访问会瞬间给数据库带来巨大的冲击;例如一个人查询数据库重建缓存数据,在缓存数据还没有写入数据库的时候其它的人也对进行重复

    2025年11月17日
    5
  • 一阶倒立摆分析_倒立摆受力分析

    一阶倒立摆分析_倒立摆受力分析摆的运动是两种运动的叠加:1.平动,包含x方向和y方向。2.转动,转轴为质心。尽管物理上的转轴是其端点,但这个端点同时也是摆的受力点。在端点(非中心)施加垂直于摆臂的力,摆将绕其质心转动。  因为摆的重力作用于其转轴(质心),因此摆自身的重力对摆不施加力矩。这可以算作将质心作为转轴来分析的一个优势。   …

    2022年8月18日
    6
  • [已实现]暴力破解路由器管理密码

    搬新家以后,第一时间连上网络,登录路由器后台。博主租的房子是某平台的,网络是由平台提供的。和上次租房不同的地方在于,这次路由器后台管理密码居然和给的wifi连接密码不一样了,肯定是有人改过密码了!admin等弱口令都试过了,全都不管用!对一个it技术人员来说,被人掌握网络生杀大权肯定是无法容忍的!第一次测试的时候尝试用telnet登录路由器,发现密码已经被更改,无法登录,预料是跟web控制台密码一起改变的。…

    2022年4月9日
    145

发表回复

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

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