使用 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)的主要内容,如果未能解决你的问题,请参考以下文章