使用java.nio.file.Paths接口时缺少方案(IllegalArgumentException)

时间:2014-08-06 18:06:32

标签: java eclipse path uri nio

这是一个非常简单的java问题。我在Linux系统上使用Java 8和eclipse kepler。我一直试图尝试NIO.2。我的代码是:

package lucasTest;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.file.*;

public class Lucas {
    public static void main(String[] args) throws URISyntaxException{
        URI u = new URI("./Lucas.java");
        Path p = Paths.get(u);  
    }
}

我收到以下错误:

Exception in thread "main" java.lang.IllegalArgumentException: Missing scheme
    at java.nio.file.Paths.get(Paths.java:134)
    at lucasTest.Lucas.main(Lucas.java:10)

请帮忙!

谢谢, 卢卡斯

1 个答案:

答案 0 :(得分:6)

您的uri声明缺少文件方案(file:///):

u = new URI("file:///./Lucas.java");
Path p = Paths.get(u);          

应该有效。作为替代方案,您可以尝试

 Path p2 = Paths.get(".", "Lucas.java");