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获取文件绝对路径类,是本人项目中直接取出的类。在protected void onActivityResult()中使用
在Android系统中,获取OTG(On-The-Go)U盘的路径以及内部或外部SD卡的路径是进行文件操作的基础。这篇详细解释将围绕如何在Android M及以上版本的设备上实现这一功能,并提供一个简单实用的代码示例。 首先,我们...
在Android开发中,有时我们需要根据文件路径加载特定类型的文件,比如图片资源。这涉及到Android的文件操作、资源管理以及多媒体文件处理。以下是一些相关的知识点: 1. **文件路径理解**: - 在Android系统中,...
在Android 7.0中,还需注意存储访问框架(SAF)的引入,它提供了更安全的文件访问方式,可能需要使用`DocumentFile`类。 4. 文件适配器(FilesAdapter): `FilesAdapter-master`可能包含一个自定义的Adapter类,...
调用`setDataSource()`设置视频文件路径,然后使用`getFrameAtTime()`方法获取一帧图片,可以设定时间点以获取最具代表性的画面。 4. **ListView或RecyclerView**:在Android中,常用`ListView`或更现代的`...
2. 使用反射获取`MediaScannerConnection`的私有字段`sExternalStorageVolumeMap`,这是一个`SparseArray`,包含了所有外部存储设备的信息: ```java Field field = MediaScannerConnection.class.getDeclaredField...
- 当`Uri`的scheme为`file`时,直接通过`getPath()`方法获取文件路径。 - `SCHEME_FILE`是一个预定义的常量,用于表示文件系统的路径。 5. **处理CONTENT Scheme**: - 当`Uri`的scheme为`content`时,这通常是...
了解并熟练掌握Android文件路径和相关的存储机制,对于开发健壮且用户体验良好的应用至关重要。在实际开发中,还需要根据具体需求和Android版本选择合适的方法来处理文件。通过FilePathTest这个文件,可以进一步实践...
这个压缩包“Android7.0 自定义文件管理器 获取文件夹路径.rar”包含了关于如何在新版本的Android系统上开发自定义文件管理器并获取文件夹路径的相关信息。以下是对这个主题的详细阐述: 1. **Android 7.0的存储...
要获取实际路径,可能需要使用`DocumentsContract`的`getDocumentPath()`方法或者使用`ContentResolver`的`openInputStream()`打开流,然后通过`ParcelFileDescriptor`获取文件路径。 7. **源码分析**: "JavaApk...
在Android中,处理文件通常使用File类和FileOutputStream/InputStream。录音完成后,可能需要对文件进行操作,如移动、重命名、删除等。例如,如果需要将录音文件从一个位置移动到另一个位置,可以使用FileUtils....
在Android TV设备上,由于UI和输入方式的不同,通常不会直接使用USB设备进行文件操作,但基本的获取路径的方法与手机相同。开发者可能需要为遥控器或其他非键盘输入设备优化交互方式。 总的来说,获取Android TV或...
Android 通过 URI 获取文件路径示例代码 在 Android 开发中,获取文件路径是非常重要的一步,特别是在拍照、选择图片、上传文件等操作中。通过 URI 获取文件路径可以实现文件的上传、下载、分享等功能。但是,在 ...
对于API 21+,我们使用`DocumentsContract`类来获取文件ID,然后提取真实的路径。对于较低版本,我们查询`MediaStore`来获取文件路径。 通过这种方式,你可以在Android应用中让用户选择本地文件,并获取其真实路径...
5. **文件操作**: Android提供了File类和相关API进行文件的读写操作。在本例中,我们需要创建一个名为"points.txt"的文件,并在其中写入Json格式的点集数据。可以使用`openFileOutput()`方法创建或打开文件,`write...
通过`File`对象,开发者可以创建、删除、重命名文件,以及获取文件的相关信息。在Android中,`File`类的使用基本遵循Java的标准,但需要注意的是,Android的根目录是"/",而非Windows系统下的"C:\"。 2. **File的...
综上所述,开发一个在Android上打开文件目录的操作程序涉及到的知识点包括:Android文件系统、`java.io.File`操作、`ListView`与`ArrayAdapter`、`Dialog`组件、权限管理、事件监听以及API兼容性处理。通过理解和...
在Android开发中,有时我们需要从Uri获取到真实的文件路径,并将其转换为File对象,以便进行文件操作,如读取、写入或删除等。这里我们将深入探讨如何在Android中实现这个过程。 首先,Uri(Uniform Resource ...
是因为从Android7.0开始,就不允许在 App 间,使用 file:// 的方式,传递一个 File ,否则就会抛出异常,而provider的作用恰好就是用过 content://的模式替换掉 file://,看上去只是换了个前缀,但其实是有真实路径...