Помогите Как создавать каталоги и файлы не в главном классе?

Lisenochek

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Lisenochek
Народ, как создавать каталоги и файлы не в главном классе, а в другом?
Я вроде бы сделал, но он каталоги и файлы не создает!
Вот, например класс, который по идее должен создавать файл и значения в нем:
JavaScript:
package com.realistic.configManager;

import java.io.File;
import java.io.IOException;

import org.bukkit.ChatColor;
import org.bukkit.configuration.file.YamlConfiguration;

import com.realistic.api.API;

public class configMessage {

    private API plugin;

    public configMessage(API plugin) {
        this.plugin = plugin;
    }
   
    public File messages = new File(
            plugin.getDataFolder().toString().concat(File.separator).concat("messages").concat(".yml"));
   
    public YamlConfiguration messageManager = YamlConfiguration.loadConfiguration(messages);

    public void config() {

        // Сообщения в messages.yml

        // Создание messages.yml
        if (!messages.exists()) {
            try {
                messages.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        // Сохранение message.yml
        try {
            messageManager.save(messages);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
 
Народ, как создавать каталоги и файлы не в главном классе, а в другом?
Я вроде бы сделал, но он каталоги и файлы не создает!
Вот, например класс, который по идее должен создавать файл и значения в нем:
JavaScript:
package com.realistic.configManager;

import java.io.File;
import java.io.IOException;

import org.bukkit.ChatColor;
import org.bukkit.configuration.file.YamlConfiguration;

import com.realistic.api.API;

public class configMessage {

    private API plugin;

    public configMessage(API plugin) {
        this.plugin = plugin;
    }
  
    public File messages = new File(
            plugin.getDataFolder().toString().concat(File.separator).concat("messages").concat(".yml"));
  
    public YamlConfiguration messageManager = YamlConfiguration.loadConfiguration(messages);

    public void config() {

        // Сообщения в messages.yml

        // Создание messages.yml
        if (!messages.exists()) {
            try {
                messages.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        // Сохранение message.yml
        try {
            messageManager.save(messages);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Я часто утилиту использую, под каждый конфиг. Позже скину :)
 
> new File(plugin.getDataFolder().toString().concat(File.separator).concat("messages").concat(".yml"));
Почему не new File(plugin.getDataFolder(), "messages.yml"); ?

Создавать файл, чтобы в него сохранить, не обязательно.
Вместо .exist() лучше использовать более конкретные .isFile() или .isDir().
 
try (InputStream in = this.getClass().getClassLoader().getResourceAsStream("messages.yml")) {
FileUtils.inpuStreamToFile(in, messages);
 
Назад
Верх