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

Posted

技术标签:

【中文标题】使用 java.nio.file.Paths 接口时缺少方案 (IllegalArgumentException)【英文标题】:Missing scheme (IllegalArgumentException) while using java.nio.file.Paths interface 【发布时间】:2014-09-29 18:54:28 【问题描述】:

这是一个非常简单的 java 问题。我在 Linux 系统上使用 Java 8 和 Eclipse 开普勒。我一直在尝试尝试 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)

请帮忙!

谢谢, 卢卡斯

【问题讨论】:

一个 URI 必须有一个方案 - 有关文件方案,请参见 en.wikipedia.org/wiki/File_URI_scheme。 【参考方案1】:

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

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

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

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

【讨论】:

以上是关于使用 java.nio.file.Paths 接口时缺少方案 (IllegalArgumentException)的主要内容,如果未能解决你的问题,请参考以下文章

类继承接口使用接口实例化 与 使用类实例化

为啥要使用接口,多重继承与接口,接口的好处?

如何在Java类中定义接口属性并如何使用接口的方法

怎样使用优酷API接口

Java 接口

使用【Feign】调用接口