Importieren Von Klassen In Java-Dateien

Ich bin derzeit lernen zu entwickeln in Java und bin interessiert an der Erstellung von Java-Klassen, die von anderen Benutzern importieren, die in Ihrem Programm zu verwenden. Ja, ich weiß, dass mein Beispiel-Klasse ist einfach und dumm, aber ich will lernen, das Konzept und beginnen Sie, mehr komplexe Klassen, die Leute können den import in Ihre Projekte.

Habe ich eine einfache "Logger" - Klasse, die wenn Sie aufgerufen wird, meldet der text auf die Konsole und in eine Textdatei für die Lesbarkeit. Rufen Sie diese Klasse, indem die folgenden Befehle...

Logger Logger = new Logger();
Logger.create();
Logger.log("This text will be logged to the console and log.log");

Sehen Sie unten die Logger Klasse.

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Logger {
        FileWriter fw;
        BufferedWriter br;
        File file = new File("log.log");
        boolean fileExists = file.exists();
        public void log(String message) {
            try {
                fw = new FileWriter(file, true);
                br = new BufferedWriter(fw);
                Calendar cal = Calendar.getInstance();

                int hour = cal.get(Calendar.HOUR_OF_DAY);
                if(hour > 12)
                    hour = hour - 12;

                int minute = cal.get(Calendar.MINUTE);
                int second = cal.get(Calendar.SECOND);
                int millis = cal.get(Calendar.MILLISECOND);

                int ampm = cal.get(Calendar.AM_PM); 
                String ampmString;
                if(ampm == 1)
                    ampmString = "PM";
                else
                    ampmString = "AM";

                String now = String.format("%02d:%02d:%02d.%03d %s", hour, minute, second, millis, ampmString);

                System.out.println(now + " - " + message);
                br.write(now + " - " + message);

                br.newLine();
                br.close();
            } catch (Exception err) {
                System.out.println("Error");
            }

        }
        public void create() {
            try {
                fw = new FileWriter(file, true);
                br = new BufferedWriter(fw);
                SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-YYYY");
                String dateString = sdf.format(new Date());
                if(file.length() != 0)
                    br.newLine();
                System.out.println("Log: " + file.getAbsolutePath());
                br.write("--------------------" + dateString + "--------------------");
                br.newLine();
                br.close();
            } catch (Exception err) {
                System.out.println("Error");
            }
        }
    }

Das Problem, das ich habe ist, um diese Klasse nutzen zu können muss ich hinzufügen, dass es zu jedem einzelnen Projekt, das ich erstellen und verwenden möchten. Gibt es eine Möglichkeit, ich kann hinzufügen ein import wie mydomain.Logger.*; und in der Lage sein Zugriff auf diese Klasse und die Methoden, die es enthält?

Meine Frage, Was ist der beste Weg, um zulassen, dass jemand zu importieren/verwenden mein Logger-Klasse in der einfachste Weg? Welche Schritte muss ich nehmen, um Ihnen zu erlauben, dies zu tun?

Da Sie neu in Java, ich möchte darauf hinweisen, dass es einige standard-logging-Bibliotheken, die tun, was du hier beschrieben. Es ist toll, dass Sie code schreiben zu lernen, aber vorsichtig sein, das Rad neu erfinden. Wenn Sie log4j oder slf4j, sind die Chancen sehr hoch, dass man jedes andere 3rd-party-Bibliotheken zu schreiben, um die Fehler-log-Dateien Seite an Seite mit Ihrem code.
Ich verstehe, dass. Ich war nur Herumspielen mit dieser Idee und dies war die einfachste Sache, die ich denken konnte. Vielen Dank für die Anregungen. 🙂

InformationsquelleAutor Dev | 2013-07-25

Schreibe einen Kommentar