(Java) Bir dosya oluşturup içine veri yazıp daha sonra verileri çekmek istiyorum. Nasıl yapabilirim?

Pledix

Kızıltaş Madencisi
Mesajlar
675
En iyi cevaplar
0
Beğeniler
332
Puanları
560
Bir dosya oluşturup içine veri yazacağım daha sonra o verileri çekeceğim.
YML dosyalarıyla bunu yapmak istiyorum fakat,

Kod:
Key: değer
şeklinde yazdırmak istiyorum.
Kod:
Keys:
- 13
- 34
- 52
şeklinde bir liste yazdırmak, listeye birşeyler eklemek, listeden birşeyler silmek istiyorum.
Ve bu yapılardan veri çekmek istiyorum.

Nasıl yapabilirim?
 


java10

kız çava bana kahve yap
Mesajlar
513
En iyi cevaplar
0
Beğeniler
586
Puanları
1,090
Ruh hali
"bukkit configurations api" diye google a arat.
 

Pledix

Kızıltaş Madencisi
Mesajlar
675
En iyi cevaplar
0
Beğeniler
332
Puanları
560
Hemen bakıyorum, pek anlayacağımı sanmasamda zorlayacağım :)
Şuraya iki üç üşenmeden örnek atan olsa daha makbul geçebilirdi :D
Eyvallah.
 

java10

kız çava bana kahve yap
Mesajlar
513
En iyi cevaplar
0
Beğeniler
586
Puanları
1,090
Ruh hali
java-bukkitapi bilgin ne kadar yüksek
 

Pledix

Kızıltaş Madencisi
Mesajlar
675
En iyi cevaplar
0
Beğeniler
332
Puanları
560
Bunu nasıl ölçerim pek bilmiyorum fakat bu platformda acemiyim, yaza yaza, yavaş yavaş harmanlıyorum bilgilerimi :)
 

java10

kız çava bana kahve yap
Mesajlar
513
En iyi cevaplar
0
Beğeniler
586
Puanları
1,090
Ruh hali
Kod:
package me.java9.items.api;

import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.java.JavaPlugin;

import java.io.*;

public class ConfigAPI {

    private File configFile;
    private String filename;
    private JavaPlugin plugin;
    private boolean shouldCopy;
    private FileConfiguration fileConfiguration;

    public ConfigAPI(JavaPlugin plugin, String filename, Boolean shouldCopy) {
        this.filename = filename + ".yml";
        this.plugin = plugin;
        this.shouldCopy = shouldCopy;
        configFile = new File(plugin.getDataFolder(), this.filename);
        if (shouldCopy) {
            firstRun(plugin);
        }
        fileConfiguration = YamlConfiguration.loadConfiguration(configFile);
        load();
    }

    public FileConfiguration getConfig() {
        load();
        return fileConfiguration;
    }

    public void save() {
        try {
            fileConfiguration.save(configFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void load() {
        try {
            fileConfiguration.load(configFile);
        } catch (InvalidConfigurationException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            configFile = new File(plugin.getDataFolder(), filename);
            if (shouldCopy) {
                firstRun(plugin);
            }
            fileConfiguration = YamlConfiguration.loadConfiguration(configFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private void firstRun(JavaPlugin plugin) {
        if (!configFile.exists())
        {
            configFile.getParentFile().mkdirs();
            copy(plugin.getResource(filename), configFile);
        }
    }

    private void copy(InputStream in, File file) {
        try {
            OutputStream out = new FileOutputStream(file);
            byte[] buf = new byte[63];
            int len;
            while ((len = in.read(buf)) > 0) {
                out.write(buf, 0, len);
            }
            out.close();
            in.close();
        } catch (Exception localException) {}
    }

    public ConfigurationSection getConfigurationSection(String path) {
        return getConfig().getConfigurationSection(path);
    }
}
bu api yi yeni bi class olarak ekle,
main class ta
ConfigAPI customconfig;
verisini aç ve on enable a;
customconfig = new ConfigAPI(this,"customconfigname",true);
bu yazıyı ekle ve getConfig gibi metodlar için
get:
customconfig.getConfig().get("path.to.way");
set:
customconfig.getConfig.set("path.to.way", "bla bla");
 

Pledix

Kızıltaş Madencisi
Mesajlar
675
En iyi cevaplar
0
Beğeniler
332
Puanları
560
Kodlara bak yaf :D
Bu olayı çözene kadar durmayacağım yardımın için teşekkür ederim.
 

Üst