Überprüfen, ob Datei existiert und hat die erforderlichen Eigenschaften

Ich geschrieben habe, der code Balg zu überprüfen, ob eine Eigenschaften-Datei existiert und hat die geforderten Eigenschaften. Wenn es vorhanden ist, druckt es die Meldung, dass die Datei existiert und ist intakt, wenn nicht, dann schafft es die properties-Datei mit den erforderlichen Eigenschaften.

Was ich wissen wollte ist, gibt es eine elegantere Möglichkeit dies zu tun, oder ist mein so ziemlich der beste Weg? Auch das kleine problem, dass ich habe ist, dass mit diesem Weg, es überprüft nicht die für zusätzliche Eigenschaften, die nicht dort sein sollte, gibt es eine Möglichkeit, das zu tun?

Zusammenfassung meiner Anforderungen:

  1. Überprüfen, ob die Datei existiert
  2. Überprüfen, ob es die erforderlichen Eigenschaften
  3. Überprüfen, ob es zusätzliche Eigenschaften
  4. Erstellen Sie die Datei mit den erforderlichen Eigenschaften, wenn es nicht vorhanden ist oder wenn es zusätzliche oder fehlende Eigenschaften

Source Dateien und Netbeans-Projekt herunterladen

Quelle:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Properties;

public class TestClass {

    public static void main(String[] args) {

        File propertiesFile = new File("config.properties");
        if (propertiesFile.exists() && propertiesExist(propertiesFile)) {
            System.out.println("Properties file was found and is intact");
        } else {
            System.out.println("Properties file is being created");
            createProperties(propertiesFile);
            System.out.println("Properties was created!");
        }
    }

    public static boolean propertiesExist(File propertiesFile) {
        Properties prop = new Properties();
        InputStream input = null;
        boolean exists = false;

        try {
            input = new FileInputStream(propertiesFile);

            prop.load(input);

            exists = prop.getProperty("user") != null
                    && prop.getProperty("pass") != null;

        } catch (IOException ex) {
            ex.printStackTrace();
        } finally {
            if (input != null) {
                try {
                    input.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        return exists;
    }

    public static void createProperties(File propertiesFile)
    {
        Properties prop = new Properties();
    OutputStream output = null;

    try {

        output = new FileOutputStream(propertiesFile);

        prop.setProperty("user", "username");
        prop.setProperty("pass", "password");

        //save properties to project root folder
        prop.store(output, null);

    } catch (IOException io) {
        io.printStackTrace();
    } finally {
        if (output != null) {
            try {
                output.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
    }
}

InformationsquelleAutor Aki K | 2014-03-30

Schreibe einen Kommentar