Java Kotlin:如何获取文件&x27;s(图像)创建日期?
我不能确切地理解我在哪里犯了一个愚蠢的错误。我将非常感谢你的建议Java Kotlin:如何获取文件&x27;s(图像)创建日期?,java,android,kotlin,Java,Android,Kotlin,我不能确切地理解我在哪里犯了一个愚蠢的错误。我将非常感谢你的建议 val f:File = File("drawable/paystack_mark.png") // val path:Path = Paths.get("drawable/new_logo.jpg") val attr = Files.readAttributes<BasicFileAttributes>(file.toPath(), BasicFileAttributes::class.java) val f:
val f:File = File("drawable/paystack_mark.png")
// val path:Path = Paths.get("drawable/new_logo.jpg")
val attr = Files.readAttributes<BasicFileAttributes>(file.toPath(), BasicFileAttributes::class.java)
val f:File=File(“drawable/paystack\u mark.png”)
//val path:path=path.get(“drawable/new_logo.jpg”)
val attr=Files.readAttributes(file.toPath(),BasicFileAttributes::class.java)
或
val-path:path=path.get(“drawable/new_logo.jpg”)
val attr=Files.readAttributes(路径,BasicFileAttributes::class.java)
我不能确切地理解我在哪里犯了一个愚蠢的错误。非常感谢您的建议您的第二个示例运行良好,我已在windows上使用.png文件的有效路径进行了尝试
val f:File = File("drawable/paystack_mark.png")
// val path:Path = Paths.get("drawable/new_logo.jpg")
val attr = Files.readAttributes<BasicFileAttributes>(file.toPath(), BasicFileAttributes::class.java)
我就是这样使用它的(刚刚打印了attr.creationTime()
):
请记住,您正在为Android编写代码,因此可能路径的
字符串
-版本不同(请参阅windows计算机上路径的反斜杠)。您的第二个示例运行良好,我已在windows上使用.png文件的有效路径进行了尝试
我就是这样使用它的(刚刚打印了attr.creationTime()
):
请记住,您是为Android编写代码的,因此可能路径的
字符串版本不同(请参阅windows计算机上路径的反斜杠)。这对我很有用,谢谢
//从gallary中读取图像,或者您可以给出直接路径
getImage()// read image
val contentURI = data?.getData()
var imageFile = File(contentURI?.let { getRealPathFromURI(it) })
val lastModifiedDate: Date = Date(imageFile.lastModified())
println("creation time: " + attr.creationTime())
//获取本机URI函数
private fun getRealPathFromURI(contentURI: Uri): String {
var getApplicationContext = getContext()?.getContentResolver();
var result: String
var cursor: Cursor? =
context?.getContentResolver()?.query(contentURI, null, null, null, null);
if (cursor == null) { // Source is Dropbox or other similar local file path
result = contentURI.getPath().toString();
} else {
cursor.moveToFirst();
val idx: Int = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
result = cursor.getString(idx);
cursor.close();
}
return result;
}
这是我的工作,谢谢你
//从gallary中读取图像,或者您可以给出直接路径
getImage()// read image
val contentURI = data?.getData()
var imageFile = File(contentURI?.let { getRealPathFromURI(it) })
val lastModifiedDate: Date = Date(imageFile.lastModified())
println("creation time: " + attr.creationTime())
//获取本机URI函数
private fun getRealPathFromURI(contentURI: Uri): String {
var getApplicationContext = getContext()?.getContentResolver();
var result: String
var cursor: Cursor? =
context?.getContentResolver()?.query(contentURI, null, null, null, null);
if (cursor == null) { // Source is Dropbox or other similar local file path
result = contentURI.getPath().toString();
} else {
cursor.moveToFirst();
val idx: Int = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
result = cursor.getString(idx);
cursor.close();
}
return result;
}
当前行为是什么(错误?没有输出?错误输出?)以及所需的行为是什么?错误:java.lang.NoSuchMethodError:没有虚拟方法toPath()Ljava/nio/file/Path;Ljava/io/File类中;或者它的超类(声明'java.io.File'出现在/system/framework/core libart.jar中),这样第二个示例就不会抛出异常了?它能做什么呢?是的,我不明白,你能给我看一个小例子来读取图像表单kotlin的属性吗?你使用的文件路径无效。drawable中的文件是资源。我认为,即使您使用valig资源代码,也没有文件日期。不确定。当前的行为是什么(错误?没有输出?错误输出?)以及所需的行为是什么?错误:java.lang.NoSuchMethodError:没有虚拟方法toPath()Ljava/nio/file/Path;Ljava/io/File类中;或者它的超类(声明'java.io.File'出现在/system/framework/core libart.jar中),这样第二个示例就不会抛出异常了?它能做什么呢?是的,我不明白,你能给我看一个小例子来读取图像表单kotlin的属性吗?你使用的文件路径无效。drawable中的文件是资源。我认为,即使您使用valig资源代码,也没有文件日期。不确定.btn1.setOnClickListener{val path:path=path.get(“E:\\image\\one.jpg”)val attr=Files.readAttributes(path,BasicFileAttributes::class.java)Log.d(“tettettete:”,“ssss${attr.creationTime())println(“创建时间:+attr.creationTime())//PickimageFromGallery()}没关系,或者我可以单独打电话吗method@MaheshGv对不起,这个代码注释是什么意思?@MaheshGv我想你需要为Android设备上的文件使用URI,但我不确定。什么坏了?“E:\\image\\one.jpg”
。这是一个Windows路径。Android设备上不存在。Android也不能处理驱动器号。是的,如何添加PickimageFromGallery()意味着移动画廊图像路径到路径。get(“此处”)你能不能请我喜欢btn1.setOnClickListener{val path:path=path.get(“E:\\image\\one.jpg”)val attr=Files.readAttributes(path,BasicFileAttributes::class.java)Log.d(“tettette:,“ssss${attr.creationTime()}”)println(“创建时间:+attr.creationTime())//PickimageFromGallery()}这是可以的,还是可以单独调用method@MaheshGv对不起,这个代码注释是什么意思?@MaheshGv我想你需要为Android设备上的文件使用URI,但我不确定。什么坏了?“E:\\image\\one.jpg”
。这是一个Windows路径。Android设备上不存在。Android也不能处理驱动器号。是的,如何添加PickimageFromGallery()意味着移动多媒体资料的图像路径到路径。获取(“此处”)你能告诉我需要什么吗