如何在Android中使用java.nio.file包?

10

我希望使用JDK7中的java.nio.file API来创建一个Android文件管理器应用程序。我认为这个API提供了设计文件管理器应用程序的简便解决方案,而JDK6(IO)和Apache Commons IO API则没有相同的功能。

请提供一些解决方案,让我知道如何在Android应用程序中使用JDK7(IO)。

谢谢!

1个回答

19

原始内容:简单的回答是你不能这样做。 Android基于Java 6,并且(据我所知)没有将Java 7的java.nio.file类后移至Android。

(这并不奇怪。 后移java.nio.file会涉及到对Davlik VM本地代码库的重大更改。)

更新内容:根据Android javadocs,在API级别26中向Android添加了对java.nio.file包的支持。 这对应于2017年8月发布的Oreo版本。


您能告诉我我应该使用哪个API来满足我的要求吗? (我的要求是文件操作,如:剪切|复制|删除文件和目录);

在Android 26之前,我建议您仅使用java.io.File类进行诸如创建目录,重命名文件等操作,然后使用File.list()FileInpuStream或者FileOutputStream实现“更高级”的操作,例如复制文件和目录树。您可以使用像Apache Commons DirectoryWalkerFileUtils或Guava Files这样的类简化某些操作。

但是,我不确定您在这里试图实现什么。 Android已经存在现有的“文件管理器”应用程序。


1
嗨,我想知道为什么我无法导入nio.files和其他项目,例如okio在IDE中也找不到这个包,但是okio最终是如何工作的?真的很困惑,你能告诉我为什么以及如何像okio一样做吗?'http://stackoverflow.com/questions/36184599/how-to-import-java-nio-file-in-android' - machinezhou
@machinezhou - 嗯,这似乎表明有人试图在Android Studio中编译Okio并失败了。就像你一样。显然,你可以在真正的Java(tm)平台上编译和运行Okio。这就是它的设计目的! - Stephen C

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接