Java.nio.file的替代方案

4
我正在使用Android Studio 2.3.1和jdk 1.8进行此项目。
我导入了一个项目,它正在使用“java.nio.file.Files”和“java.nio.file.Paths”。
在Java 8中不存在“java.nio.file”包。
此外,Android Studio不允许选择jdk 1.7。
你能对这段代码做些什么?
public void toFile(final String path) throws IOException {
    Files.write(Paths.get(path), toBuffer());
}

并且这段代码

public static Source fromFile(final String path) throws IOException {
    return fromBuffer(Files.readAllBytes(Paths.get(path)));
}

**(无法解析文件和路径)

谢谢

2个回答

2

1

Android并没有提供所有"传统Java"所提供的类。其中一个类是文件,Android不提供该类。

您可以在此处查看Android可用的类: http://developer.android.com/reference/classes.html

因此,不幸的是,您必须使用其他函数/类来实现相同的功能。

我发现了这个,声称是

NNIO:Java NIO.2替代库

但我认为您应该使用guava来实现相同的功能,因为它在许多一流应用程序中得到使用,并且有一个庞大的社区。

编辑: 随着Android O开发者预览版的发布,java.nio.file得到支持。 https://developer.android.com/reference/java/nio/file/package-summary.html


感谢您的回答,但是这个库有像Java.nio.file中的Paths类一样的类,但是NNIO有Files类,它没有'write'和'readallbytes'方法!! - Mehran Abi.
那么你应该看一下Guava。我非常确定你可以用非常相似的代码实现同样的功能。 - humazed
是的,Guava有一个名为“toByteArray”的方法,其工作方式与“readAllBytes”相同,但我无法使用它。您能否使用Guava和NNIO重新编写我的项目方法? - Mehran Abi.
我昨天尝试使用Guava库重写方法,但我的项目无法正常工作。 - Mehran Abi.

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