【问题标题】:Android import java.nio.file.Files; cannot be resolved安卓导入java.nio.file.Files;无法解决
【发布时间】:2014-09-12 04:59:15
【问题描述】:

我正在试用新的 Gmail API,示例使用 java.nio.file 包中的类,例如FilesFileSystems

这些类是在 Java jdk 1.7 中引入记录的,由于我在我的 Android 应用程序中运行 jdk 1.7.0_65,我不知道为什么 Android Studio 找不到这些类。

进口是:

import java.nio.file.FileSystems;
import java.nio.file.Files;

我的 build.gradle 文件当然会告诉系统像这样使用 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()等方法

标签: java android java-7


【解决方案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】:

看看这个Link Android 支持某些类的 NIO 包而不是完整的类。但是如果你需要加快你的代码,你也可以使用 apache-commons api 来做同样的事情。

【讨论】:

    【解决方案3】:

    显然java.nio.file 将随 Android O 一起提供。 https://developer.android.com/reference/java/nio/file/package-summary.html

    【讨论】:

      猜你喜欢
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      • 2015-10-09
      • 2021-11-20
      • 2013-03-11
      • 1970-01-01
      • 2019-02-12
      相关资源
      最近更新 更多