1. 程式人生 > >android--------根據檔案路徑使用File類獲取檔案相關資訊

android--------根據檔案路徑使用File類獲取檔案相關資訊

Android通過檔案路徑如何得到檔案相關資訊,如 檔名稱,檔案大小,建立時間,檔案的相對路徑,檔案的絕對路徑等。

如圖:


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 + "\n" + "檔案大小:"
						+ ShowLongFileSzie(f.length()) + "\n" + "檔名稱:"
						+ f.getName() + "\n" + "檔案是否存在:" + f.exists() + "\n"
						+ "檔案的相對路徑:" + f.getPath() + "\n" + "檔案的絕對路徑:"
						+ f.getAbsolutePath() + "\n" + "檔案可以寫入:" + f.canWrite()
						+ "\n" + "是否是資料夾型別:" + 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" />


相關推薦

android--------根據檔案路徑使用File獲取檔案相關資訊

Android通過檔案路徑如何得到檔案相關資訊,如 檔名稱,檔案大小,建立時間,檔案的相對路徑,檔案的絕對路徑等。如圖:public class MainActivity extends Activity { private String path = "/storage

Umbraco 中獲取一個media item的檔案路徑 file path

  我們要使用UmbracoHelper, 這裡就需要用到我們在之前的blog裡面寫的UmbracoContext 參看這個blog     https://www.cnblogs.com/wphl-27/p/9927044.html public clas

JAVA之File 獲取一個目錄下的所有資料夾和檔案,包括子資料夾和子檔案

package ioTest.io3; import java.io.File; /* * 獲取一個目錄下的所有資料夾和檔案,包括子資料夾和子檔案 。 * 並將資料夾和檔名稱列印在控制檯上面。並且要顯示檔案目錄的層級 * 注:運用了遞迴的演算法。 */ public

Java File學習 檔案常用操作

1,File 是什麼? 檔案物件,用來操作資料夾/檔案的物件,檔案物件代表磁碟中實際存在的檔案和目錄。 常用操作方法: File f=new File(); //檔案是否存在 f.exists();

利用Scanner檔案讀取,並獲取相應的資訊

package input; import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.List; import java.util.Scanner

File檔案型別數量統計

需求: /* * 輸入一個資料夾路徑 用map記錄檔案型別出現的次數 * * txt 數量 * java 數量 * png 數量 * .... */ import java.io.File; import java.util.Comparat

九:File檔案的操作

File的常用方法: FilenameFilter:檔案過濾器   序列化和反序列化: 多臺機器遠端通訊,將機器中A的某個java物件轉換為字元序列進行傳輸的過程叫做序列化。序列化還可以將一個物件儲存到硬碟中,然後反序列化將物件讀取到記憶體。 方式 :一個物件如果支援序列化,

使用java的File建立檔案

java.io.File類代表系統檔名(路徑和檔名) (1)File類常見的構造方法: //以pathname為路徑建立File物件,如果pathname是相對路徑則預設當前路徑在系統屬性user.dir中儲存 public File(String pathname) {

java file物件獲取檔案大小

import java.io.File; import java.text.DecimalFormat; import java.io.FileInputStream; public class GetFileSize {     public longgetFileSiz

使用QFileInfo類獲取檔案資訊(在NTFS檔案系統上,出於效能考慮,檔案的所有權和許可權檢查在預設情況下是被禁用的,通過qt_ntfs_permission_lookup開啟和操作。absolutePath()必須查詢檔案系統。而path()函式,可以直接作用於檔名本身,所以,path() 函

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/Amnes1a/article/details/65444966QFileInfo類為我們提供了系統無關的檔案資訊,包括檔案的名字和在檔案系統中位置,檔案的訪問許可權,是否是目錄或符合連結,等等。並且,通過這個類

Android 檔案操作幫助FileUtils檔案

/* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * y

開啟檔案管理時 URI獲取檔案路徑為null的解決方法

最近做Android圖片相關的開發,通過intent 得到 URI獲取的檔案路徑為null,正好這篇文章解決了我的問題,mark一下 原文: 今天呼叫系統自帶的FileChooser後,根據Intent返回的uri獲取路徑的時一直返回null。 這個問題很奇怪,最

根據路徑輸出列表

package com.youzan.test;import java.io.File;import java.io.FileFilter;import java.io.IOException;import java.net.JarURLConnection;import java.net.URL;impor

Java-File獲取目錄下檔名-遍歷目錄file.listFiles

package com.hxzy.IOSer;import java.io.*;/*File 類獲取功能 * List * ListFile * */public class Demo06 { public static void main(String[] args) { Gu_2(); } /* * 2

Android 根據圖片資原始檔名獲取資源Id 的方法

一 .第一種方法 name 為檔名(不帶字尾名) . private int getDrawableRes(Context context, String name) { Str

檔案操作工具檔案/目錄的建立、刪除、移動、複製、zip壓縮與解壓.

FileOperationUtils.java package com.xnl.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import jav

檔案操作工具檔案/目錄的建立、刪除、移動、複製、zip壓縮與解壓

FileOperationUtils.java package com.xnl.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File;

IO流--利用bufferedstream在控制檯中輸入檔案路徑,並將檔案複製到桌面

class hello { public static void main(String[] args) throws IOException { BufferedInputStream input = new BufferedInputStream(new FileInpu

IDEA 匯入或新建maven專案 web.xml中配置檔案路徑報錯,配置檔案找不到

某次碰到一個很奇怪的問題,本來專案沒問題的,重新匯入到Idea執行時就跑不起來了。 跑專案時,報如下錯誤: 看報錯好像是log4j2的配置檔案找不到 不可能呀,上次還跑得好好的,檔案也都在。 於是我進入web.xml看看: 怎麼配置檔案都報紅了

windows下檔案路徑與Linux下檔案路徑的比較

Windows路徑是我們經常使用的東西,它看似簡單,實際上隱含許多細節,這些都是在平常的使用過程中注意不到的。下面讓我們來看看各種各樣的Windows路徑。 提起路徑,我們都會想到“絕對路徑”和“相對路徑”,實際上絕對路徑是一個廣泛的概念,它表示的是可以唯一定位一個檔案或資