我正在运行Eclipse Kepler Service Release2。我的程序在Eclipse中运行时可以正常运行,而在使用Windows cmd运行.jar时也可以正常运行。但是,将相同的.jar放在树莓派上,出现以下错误:
Exception in thread "Thread-1" java.lang.NoSuchMethodError: java.nio.file.Files.readAllLines(Ljava/nio/file/Path;)Ljava/util/List;
有问题的代码位是
import java.nio.file.Files;
import java.nio.file.Path;
import dataTypes.Detection;
public final class FileOperations {
// ...
public static Detection readDetection(Path p) {
try {
List<String> lines = Files.readAllLines(p);
// etc ...
我部分地确信问题出在我错误地编译了jar,但是由于我是这种事情的新手,所以我不知道如何检查我是否做对了。有人有建议吗?
您正在尝试使用java.nio.file.Files.readAllLines(Path)
Java 8中引入的。您将无法在Java 7中使用它。
选项:
碰巧,过载readAllLines
,这需要Path
和Charset
可以用Java 7中,而这是一个更好的过载无论如何使用,让你明确了解哪些编码要使用。因此,将您的代码更改为:
// Or whichever Charset you really want...
List<String> lines = Files.readAllLines(p, StandardCharsets.UTF_8);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句