java无法从字符串创建路径对象
我将学习有关Oracle的基本I/O教程。com,但我在创建路径对象时遇到困难:
Path p1 = Paths.get("/tmp/foo");
这就产生了错误:
error: The method get(URI) in the type Paths is not applicable for the arguments (String).
我在Linux上工作,在EclipseKepler上工作。我正在尝试访问当前目录中的文本文件。使用扫描器和文件,我可以处理文件,但我还想摆弄文件的路径,以便继续教程
编辑:整个程序如下所示。下半部分是我作为一名新手,确认文件存在/有效。当我注释掉路径定义时,我得到了“save”中的“Test”的输出。txt'文件:
package projectSARA;
import java.util.*;
import java.io.*;
import java.net.URI;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) {
String saveFile = "save.txt";
Path p1 = Paths.get(saveFile);
Path p2 = Paths.get("save.txt");
File file = new File(saveFile);
try{
Scanner in = new Scanner(file);
String test = in.next();
System.out.println(test);
}
catch(FileNotFoundException e){
System.out.println("File not found");
}
}// end main
}
附加:我以前问过这个问题,被要求编辑。我加入了编辑,等了几天,但没有更多的回应。我应该以某种方式更新它,还是联系评论的作者?我对Stack Exchange很陌生,但非常感谢大家的努力
# 1 楼答案
路径p1=路径。获取(“/tmp/foo”)
哪里有路径。get只接受URI参数,所以我们需要提供
我想,这会解决你的问题
# 2 楼答案
将JRE更改为Java7将解决这个问题。在Eclipse上转到项目属性->;构建路径->;图书馆->;选择JRE系统库->;单击编辑->;将执行环境更改为jdk 7。现在可以将字符串传递到路径中。get()
# 3 楼答案
Paths.get("/some/path")
是有效的方法调用。如果代码与您发布的一样,这可能是一个带有Eclipse意图的bug。您的错误The method get(URI) in the type Paths...
不是javac错误,而是Eclipse错误您的类相当简单,所以请尝试使用javac或使用Eclipse以外的其他IDE编译它,看看是否出现编译错误
# 4 楼答案
您的代码应该可以工作,但这里有一个简单的解决方法:
这将强制系统使用基于字符串的get方法,而不是URI
# 5 楼答案
在你的队伍中:
您正在使用字符串,而get方法需要URI
首先将您的路径定义为URI