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

转自:http://blog.csdn.net/dickyqie/article/details/53945192


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

如图:


[java]  view plain  copy
  1. public class MainActivity extends Activity {  
  2.   
  3.     private String path = "/storage/emulated/0/Android/data/cn.wps.moffice_eng/mm.doc";  
  4.     private TextView mTextView;  
  5.   
  6.     @Override  
  7.     protected void onCreate(Bundle savedInstanceState) {  
  8.         super.onCreate(savedInstanceState);  
  9.         setContentView(R.layout.activity_main);  
  10.         initView();  
  11.     }  
  12.   
  13.     @SuppressLint("SimpleDateFormat")  
  14.     private void initView() {  
  15.         // TODO Auto-generated method stub  
  16.         mTextView = (TextView) findViewById(R.id.textview);  
  17.         File f = new File(path);  
  18.         if (f.exists()) {  
  19.             FileInputStream fis = null;  
  20.             try {  
  21.                 fis = new FileInputStream(f);  
  22.                 String time = new SimpleDateFormat("yyyy-MM-dd")  
  23.                         .format(new Date(f.lastModified()));  
  24.                 System.out.println("文件文件创建时间" + time);  
  25.                 System.out.println("文件大小:" + ShowLongFileSzie(f.length()));// 计算文件大小  
  26.                                                                             // B,KB,MB,  
  27.                 System.out.println("文件大小:" + fis.available() + "B");  
  28.                 System.out.println("文件名称:" + f.getName());  
  29.                 System.out.println("文件是否存在:" + f.exists());  
  30.                 System.out.println("文件的相对路径:" + f.getPath());  
  31.                 System.out.println("文件的绝对路径:" + f.getAbsolutePath());  
  32.                 System.out.println("文件可以读取:" + f.canRead());  
  33.                 System.out.println("文件可以写入:" + f.canWrite());  
  34.                 System.out.println("文件上级路径:" + f.getParent());  
  35.                 System.out.println("文件大小:" + f.length() + "B");  
  36.                 System.out.println("文件最后修改时间:" + new Date(f.lastModified()));  
  37.                 System.out.println("是否是文件类型:" + f.isFile());  
  38.                 System.out.println("是否是文件夹类型:" + f.isDirectory());  
  39.                 mTextView.setText("文件文件创建时间:" + time + "\n" + "文件大小:"  
  40.                         + ShowLongFileSzie(f.length()) + "\n" + "文件名称:"  
  41.                         + f.getName() + "\n" + "文件是否存在:" + f.exists() + "\n"  
  42.                         + "文件的相对路径:" + f.getPath() + "\n" + "文件的绝对路径:"  
  43.                         + f.getAbsolutePath() + "\n" + "文件可以写入:" + f.canWrite()  
  44.                         + "\n" + "是否是文件夹类型:" + f.isDirectory());  
  45.             } catch (Exception e) {  
  46.                 e.printStackTrace();  
  47.             }  
  48.         }  
  49.     }  
  50.   
  51.     /**** 
  52.      * 计算文件大小 
  53.      *  
  54.      * @param length 
  55.      * @return 
  56.      */  
  57.     public String ShowLongFileSzie(Long length) {  
  58.         if (length >= 1048576) {  
  59.             return (length / 1048576) + "MB";  
  60.         } else if (length >= 1024) {  
  61.             return (length / 1024) + "KB";  
  62.         } else if (length < 1024) {  
  63.             return length + "B";  
  64.         } else {  
  65.             return "0KB";  
  66.         }  
  67.     }  
  68.   
  69. }  

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

[html]  view plain  copy
  1. <!-- SD卡权限 -->  
  2.     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
  3.     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值