安卓导入java.nio.file.Files;无法解决
Posted
技术标签:
【中文标题】安卓导入java.nio.file.Files;无法解决【英文标题】:Android import java.nio.file.Files; cannot be resolved 【发布时间】:2014-09-12 04:59:15 【问题描述】:我正在试用新的 Gmail API,示例使用 java.nio.file 包中的类,例如Files
和 FileSystems
。
这些类是在 Java jdk 1.7 中引入记录的,由于我在我的 android 应用程序中运行 jdk 1.7.0_65,我不知道为什么 Android Studio 找不到这些类。
进口是:
import java.nio.file.FileSystems;
import java.nio.file.Files;
我的 build.gradle 文件当然会告诉系统像这样使用 v.1.7
android
compileSdkVersion 19
buildToolsVersion '20'
...
compileOptions
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
我指向的是jdk的正确目录:
jdk 列在外部库部分:
如果我浏览 Java 文件,我什至可以找到 java.nio.file.Files 和 .FileSystems:
现在,到底是怎么回事!?据我了解,我正在这里做所有事情,有什么建议吗?
【问题讨论】:
男人!我有完全相同的问题!对于我们应该使用Files
能够做的事情,您做了哪些工作?有什么好的第三方库吗?谢谢!
感谢您的细致分析!很少见。
好的,但它仍然存在问题......谁知道我们应该使用哪种库来代替?
尝试使用java.io.File.mkdirs()
等方法
【参考方案1】:
Android 不提供“传统 java”必须提供的所有类。 Files
是 Android 不提供的类之一。
您可以在此处查看 Android 中可用的类:http://developer.android.com/reference/classes.html
所以很遗憾,您必须使用其他函数/类来实现相同的功能。
PS:该类显示在您的屏幕截图中,因为您浏览的是 PC 上安装的 java 类,而不是 Android 手机/平板电脑上可用的类.
更新
Files
/FileSystem
类从 API 版本 26 开始可用。
【讨论】:
我明白了,非常感谢。不是我真正想听到的,但这肯定会解开谜团。谢谢 好的,但它仍然存在问题......谁知道我们应该使用哪种库来代替?java.nio.file.Files
现在在您提供的链接中,在 API 级别 26 中添加。【参考方案2】:
显然java.nio.file
将随 Android O 一起提供。
https://developer.android.com/reference/java/nio/file/package-summary.html
【讨论】:
【参考方案3】:看看这个Link Android 支持某些类的 NIO 包而不是完整的类。但是如果你需要加快你的代码,你也可以使用 apache-commons api 来做同样的事情。
【讨论】:
以上是关于安卓导入java.nio.file.Files;无法解决的主要内容,如果未能解决你的问题,请参考以下文章
什么是 java.io.File.setWritable() 的 java.nio.file.Files 等价物?