Classpath .yml- Dateierstellung

ScorixEar

Mitglied
Hi Leute,
Ich habe einen YamlHandler erstellt, der Dateien, falls sie noch nicht vorhanden sind, erstellen soll und jene in Verzeichnis legen soll, welches den Namen der .jar datei hat, die ausgeführt wird.
Java:
/**
* API for easy YML-Configuration
*/
import java.io.File;
import java.io.IOException;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;

public class YamlHandler
{
    public static File createFile(String filename)
    {

        //File c = new File(Nyanfighters.getInstance().getDataFolder().getAbsolutePath()+"."+filename);
        //c.mkdir();
        File f= new File(Nyanfighters.getInstance().getDataFolder().getAbsolutePath() + File.separator + filename);
        f.mkdir();
        if(!f.exists())
        {
            try {
                f.createNewFile();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return f;
    }
    public static FileConfiguration createYamlFile(File f)
    {
        FileConfiguration fc= YamlConfiguration.loadConfiguration(f);

        return fc;
    }

    public static void saveYamlFile(FileConfiguration c,File f)
    {
        try {
            c.save(f);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}
NyanFighters ist dabei eine Klasse, die diese Klasse nutzte:
Java:
private File spawnpoints;
    private FileConfiguration spawnpointsc;
spawnpoints = YamlHandler.createFile("spawnpoints.yml");
        spawnpointsc = YamlHandler.createYamlFile(spawnpoints);
Ich bekomme beim Ausführen den Laufzeitfehler:
Code:
[21:58:21] [Server thread/WARN]: java.io.IOException: Das System kann den angegebenen Pfad nicht finden
[21:58:21] [Server thread/WARN]:     at java.io.WinNTFileSystem.createFileExclusively(Native Method)
[21:58:21] [Server thread/WARN]:     at java.io.File.createNewFile(Unknown Source)
[21:58:21] [Server thread/WARN]:     at de.minecrafthaifl.nyanfighters.YamlHandler.createFile(YamlHandler.java:22)
[21:58:21] [Server thread/WARN]:     at de.minecrafthaifl.nyanfighters.Nyanfighters.onEnable(Nyanfighters.java:24)
[21:58:21] [Server thread/WARN]:     at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:292)
[21:58:21] [Server thread/WARN]:     at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340)
[21:58:21] [Server thread/WARN]:     at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
[21:58:21] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_9_R1.CraftServer.loadPlugin(CraftServer.java:361)
[21:58:21] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_9_R1.CraftServer.enablePlugins(CraftServer.java:321)
[21:58:21] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_9_R1.CraftServer.reload(CraftServer.java:745)
[21:58:21] [Server thread/WARN]:     at org.bukkit.Bukkit.reload(Bukkit.java:539)
[21:58:21] [Server thread/WARN]:     at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25)
[21:58:21] [Server thread/WARN]:     at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141)
[21:58:21] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:645)
[21:58:21] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchServerCommand(CraftServer.java:631)
[21:58:21] [Server thread/WARN]:     at net.minecraft.server.v1_9_R1.DedicatedServer.aL(DedicatedServer.java:438)
[21:58:21] [Server thread/WARN]:     at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:401)
[21:58:21] [Server thread/WARN]:     at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660)
[21:58:21] [Server thread/WARN]:     at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559)
[21:58:21] [Server thread/WARN]:     at java.lang.Thread.run(Unknown Source)
Ich vermute, dass dies an der Erstellung des Ordners liegt, aber ich weiß nicht, wie ich jenen erstellen soll und dann eine Datei in jenem.
Danke für eure Hilfe :)
 

ScorixEar

Mitglied
Ich habe selber das Problem gelöst. Für alle folgenden, die das gleiche Problem haben:
Der YamlHandler muss folgendermaßen verändert werden.

Alt:
Java:
File f= new File(Nyanfighters.getInstance().getDataFolder().getAbsolutePath() + File.separator + filename);
f.mkdir();

Neu:
Java:
File c = new File(Nyanfighters.getInstance().getDataFolder().getAbsolutePath());
c.mkdir();
File f= new File(Nyanfighters.getInstance().getDataFolder().getAbsolutePath() + File.separator + filename);

//Close
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Dateierstellung Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben