我正在制作一个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];
}
我没有一个:在我的属性文件中......帮助
答案 0 :(得分:2)
问题不在于文件。问题是文件名:file:FOO\server.properties
。请注意,在索引4(字符5)处,您有一个:
。相反,您应该使用FOO\server.properties
并省略file:
。