android--------根据文件路径使用File类获取文件相关信息

摘要:
Android通过文件路径获取文件相关信息,如文件名、文件大小、创建时间、文件的相对路径、文件的绝对路径等。

Android通过文件路径如何得到文件相关信息,如 文件名称,文件大小,创建时间,文件的相对路径,文件的绝对路径等。

如图:

android--------根据文件路径使用File类获取文件相关信息第1张

public class MainActivity extends Activity {

    private String path = "/storage/emulated/0/Android/data/cn.wps.moffice_eng/mm.doc";
    private TextView mTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    @SuppressLint("SimpleDateFormat")
    private void initView() {
        // TODO Auto-generated method stub
        mTextView = (TextView) findViewById(R.id.textview);
        File f = new File(path);
        if (f.exists()) {
            FileInputStream fis = null;
            try {
                fis = new FileInputStream(f);
                String time = new SimpleDateFormat("yyyy-MM-dd")
                        .format(new Date(f.lastModified()));
                System.out.println("文件文件创建时间" + time);
                System.out.println("文件大小:" + ShowLongFileSzie(f.length()));// 计算文件大小
                                                                            // B,KB,MB,
                System.out.println("文件大小:" + fis.available() + "B");
                System.out.println("文件名称:" + f.getName());
                System.out.println("文件是否存在:" + f.exists());
                System.out.println("文件的相对路径:" + f.getPath());
                System.out.println("文件的绝对路径:" + f.getAbsolutePath());
                System.out.println("文件可以读取:" + f.canRead());
                System.out.println("文件可以写入:" + f.canWrite());
                System.out.println("文件上级路径:" + f.getParent());
                System.out.println("文件大小:" + f.length() + "B");
                System.out.println("文件最后修改时间:" + new Date(f.lastModified()));
                System.out.println("是否是文件类型:" + f.isFile());
                System.out.println("是否是文件夹类型:" + f.isDirectory());
                mTextView.setText("文件文件创建时间:" + time + "
" + "文件大小:"
                        + ShowLongFileSzie(f.length()) + "
" + "文件名称:"
                        + f.getName() + "
" + "文件是否存在:" + f.exists() + "
"
                        + "文件的相对路径:" + f.getPath() + "
" + "文件的绝对路径:"
                        + f.getAbsolutePath() + "
" + "文件可以写入:" + f.canWrite()
                        + "
" + "是否是文件夹类型:" + f.isDirectory());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    /****
     * 计算文件大小
     * 
     * @param length
     * @return
     */
    public String ShowLongFileSzie(Long length) {
        if (length >= 1048576) {
            return (length / 1048576) + "MB";
        } else if (length >= 1024) {
            return (length / 1024) + "KB";
        } else if (length < 1024) {
            return length + "B";
        } else {
            return "0KB";
        }
    }

}

不要忘记在AndroidManifest.xml加权限哦!

<!-- SD卡权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

源码点击下载:https://github.com/DickyQie/android-file

免责声明:文章转载自《android--------根据文件路径使用File类获取文件相关信息》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux stty命令Zend framework 开发总结2下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#读写Excel的几种方法

1 使用Office自带的库 前提是本机须安装office才能运行,且不同的office版本之间可能会有兼容问题,从Nuget下载 Microsoft.Office.Interop.Excel 读写代码如下: 1 using Microsoft.Office.Interop.Excel; 2 using Excel = Microsoft.Offic...

C#锐利体验(转)

南京邮电学院 李建忠(cornyfield@263.net) 索引 C#锐利体验 "Hello,World!"程序 C#语言基础介绍 Microsoft.NET平台基础构造 类与对象 构造器与析构器 方法 域与属性 索引器与操...

python mock接口返回数据(转载)

Python mock  在测试过程中,为了更好地展开单元测试,mock一些数据跟对象在所难免,下面讲一下python的mock的简单用法。 关于python mock,网上有很多资料,这里不会讲的特别深,但一定会是实用为主,看完后,至少可以让你知道mock是怎样用的。 1.mock对象方法中的返回数据: 我们经常会需要这样的场景,a系统跟b系统联调,b...

设置sqlplus不显示除查询结果外的信息

背景:客户提出一个需求,写SQL脚本的时候,内容是拼接的,如何将这个拼接SQL执行的结果取出来调用执行呢?我想到的方案是先把结果取出来,存为一个中间文件,再调用该文件即可。知识点:如何将sqlplus结果中的无关信息都去掉?可以使用sqlplus -s进入调用拼接SQL脚本,脚本中配合使用set设定相关属性即可实现。下面举一个简单的示例来说明: 1.拼接...

访问 IIS 元数据库失败 的解决方法

系统是windows xp sp3,vs2010。安装了iis 5.1 ,创建了虚拟目录之后copy进去一个web sercices测试下能不能正常工作。 出现如下问题: 访问 IIS 元数据库失败。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System...

C# 获取枚举 Enum 变量值的 Description 属性

在C#中如何读取枚举值的描述属性? 在C#中,有时候我们需要读取枚举值的描述属性,也就是说这个枚举值代表了什么意思。比如本文中枚举值 Chinese ,我们希望知道它代表意思的说明(即“中文”)。 有下面的枚举: 1 2 3 4 5 6 public enum EnumLanugage {     [System.ComponentMode...