java.nio.file.InvalidPathException

时间:2013-06-23 23:27:36

标签: java char

我正在制作一个Minecraft服务器......而且我有一个IllegalChar错误 这是日志:

Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <:> at index 4: file:FOO\server.properties
    at sun.nio.fs.WindowsPathParser.normalize(Unknown Source)
    at sun.nio.fs.WindowsPathParser.parse(Unknown Source)
    at sun.nio.fs.WindowsPathParser.parse(Unknown Source)
    at sun.nio.fs.WindowsPath.parse(Unknown Source)
    at sun.nio.fs.WindowsFileSystem.getPath(Unknown Source)
    at java.io.File.toPath(Unknown Source)
    at com.sukkit.Info.loadProperties(FOO2.java:31)
    at com.sukkit.Sukit.main(FOO.java:17)

这是server.properties文件:

generator-settings=
allow-nether=true
level-name=world
enable-query=false                       --FOURTH LINE
allow-flight=false
server-port=25565
level-type=DEFAULT
enable-rcon=false
force-gamemode=false
level-seed=
server-ip=
max-build-height=256
spawn-npcs=true
white-list=false
spawn-animals=true
hardcore=false
texture-pack=
online-mode=true
pvp=true
difficulty=1
gamemode=0
max-players=20
spawn-monsters=true
generate-structures=true
view-distance=10
motd=A Minecraft Server

以下是代码:

File extFile = new File("server.properties");//create external file
File inFile = new File(MAINFOO.getCodeBase(*/I HAVE CREATED THIS METHOD IN THE MAIN FOO CLASS*/)+"server.properties");//create internal file
if (!extFile.exists()){
    OutputStream out;
    try {out = new FileOutputStream(extFile);
    Files.copy(inFile.toPath(), out);
    } catch (FileNotFoundException e) {
        Sukit.logE(e.toString());
        Sukit.getLogger().severe("ERROR: FILE IS CORRUPT...PLEASE REDOWNLOAD SUKIT");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

这是MAINFOO.getCodeBase()方法:

public static String getCodeBase() {
    String i = ClassLoader.getSystemResource("server.properties").toString();
    String is[] = i.split("server.properties");
    logD(is[0]);
    return is[0];
}

我没有一个:在我的属性文件中......帮助

1 个答案:

答案 0 :(得分:2)

问题不在于文件。问题是文件名:file:FOO\server.properties。请注意,在索引4(字符5)处,您有一个:。相反,您应该使用FOO\server.properties并省略file: