Android解决file.lastModified()一直为0的方法

File file = new File("文件路径");
Log.d("MainActivity", file.lastModified());

结果一直为0,路径写的也是绝对路径,判断exists()也是得到false的结果,但是文件确实存在。谷歌了一番,找到了解决方法:

File file = Context.getFileStreamPath("文件名");

这样就正确了。

谷歌得到的结果:
http://stackoverflow.com/questions/4102193/getting-a-files-last-modified-date

Android 平台提供了许多 API 和库,可以方便开发者实现文件管理功能。以下是一些常用的方法和类: 1. 使用 File 类操作文件: File 类提供了许多方法,可以用于创建、删除、重命名、移动、复制、查看文件属性等操作。例如: ```java File file = new File("/sdcard/test.txt"); // 创建文件 if (!file.exists()) { file.createNewFile(); } // 删除文件 if (file.exists()) { file.delete(); } // 重命名文件 File newFile = new File("/sdcard/newname.txt"); file.renameTo(newFile); // 移动文件 File destFile = new File("/sdcard/mydir/test.txt"); file.renameTo(destFile); // 复制文件 FileInputStream fis = new FileInputStream(file); FileOutputStream fos = new FileOutputStream(destFile); byte[] buffer = new byte[1024]; int len; while ((len = fis.read(buffer)) > 0) { fos.write(buffer, 0, len); } fis.close(); fos.close(); // 查看文件属性 long lastModified = file.lastModified(); long length = file.length(); boolean isDirectory = file.isDirectory(); ``` 2. 使用 DocumentFile 类操作文件: DocumentFile 类提供了许多方法,可以用于在 Android 上安全地操作文件和目录。它支持通过 URI 访问外部存储器中的文件和目录。例如: ```java // 获取外部存储器根目录 Uri uri = DocumentsContract.getRootUri(context); DocumentFile rootDir = DocumentFile.fromTreeUri(context, uri); // 创建目录 DocumentFile newDir = rootDir.createDirectory("mydir"); // 创建文件 DocumentFile newFile = newDir.createFile("text/plain", "test.txt"); OutputStream os = getContentResolver().openOutputStream(newFile.getUri()); os.write("Hello, world!".getBytes()); os.close(); // 删除文件 newFile.delete(); // 重命名文件 newFile.renameTo("newname.txt"); ``` 3. 使用 ContentResolver 类操作文件: ContentResolver 类提供了许多方法,可以用于通过 URI 访问媒体文件。例如: ```java // 查询所有图片 String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DISPLAY_NAME}; String selection = null; String[] selectionArgs = null; String sortOrder = MediaStore.Images.Media.DISPLAY_NAME + " ASC"; Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; Cursor cursor = getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder); if (cursor != null && cursor.moveToFirst()) { do { long id = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID)); String name = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DISPLAY_NAME)); // TODO: 处理图片 } while (cursor.moveToNext()); } cursor.close(); ``` 以上是一些常用的文件管理方法和类,可以根据具体需求选择使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值