Wie genau funktionieren Load- und Save-Methoden in Java?

Ich habe folgende Klassen gegeben:

class Person {
  private String firstname;

  private String lastname;

  private String sortname;

  public Person() {
  }

  public Person(String firstname, String lastname) {
    this.firstname = firstname;
    this.lastname = lastname;
    updateSortname();
  }

  public String getFirstname() {
    return firstname;
  }

  public void setFirstname(String firstname) {
    this.firstname = firstname;
    updateSortname();
  }

  public String getLastname() {
    return lastname;
  }

  public void setLastname(String lastname) {
    this.lastname = lastname;
    updateSortname();
  }

  public String getSortname() {
    return sortname;
  }

  public void updateSortname() {
    sortname = lastname + firstname;
  }

  @Override
  public String toString() {
    return firstname + " " + lastname + " (" + sortname + ")";
  }

  public static List<Person> load(String filename) throws IOException {
    return null;
  }

  public static Person load(DataInputStream in) throws IOException {
    return null;
  }

  public static void save(String filename, List<Person> list) throws IOException {
  }

  public static void save(DataOutputStream out, Person person) throws IOException {
  }

  public static List<Person> unserialize(String filename) throws IOException, ClassNotFoundException {
    return null;
  }

  public static void serialize(String filename, List<Person> persons) throws IOException {
  }
}

public class PersonTest {
  public static void main(String[] args) throws IOException, ClassNotFoundException {
    List<Person> persons = new ArrayList<>();
    persons.add(new Person("Willy", "Wonka"));
    persons.add(new Person("Charlie", "Bucket"));
    persons.add(new Person("Grandpa", "Joe"));
    System.out.println(persons);

    Person.save("persons.sav", persons);
    persons = Person.load("persons.sav");
    System.out.println(persons);

    Person.serialize("persons.ser", persons);
    persons = Person.unserialize("persons.ser");
    System.out.println(persons);
  }
}

Mein Problem:

Ich soll für dieses Programm die Methoden load, save, unserialize und serialize definieren. Ich habe bisher nur Beispiele dazu gesehen, mit einzelnen Klassenobjekten, wie z.B. einer Klasse Domino. Wie man dabei mit Arrays arbeitet, ist mir nicht klar und ich würde mich freuen, wenn mir jemand das Thema I/O genauer erklären könnte.

programmieren, Java
Bukkit Java: Public Static String = Target.getName(); nicht in Methode erlaubt. Wie mache ich das Trotzdem. Ich muss das in der Methode machen. Mehr in der Fra?

Hey!

Ich will ein Plugin machen, wo man Spieler in Teams einteilt.

Um einen Spieler zu einem Team zu adden, soll man /set team 1 <Spieler> nutzen.

Und das gleiche noch mit /set team 2 <Spieler>

Ich will die Spieler Namen in einen String haben.

Guckt bitte bei den // -**

wie macht man das?

} else if (args[0].equalsIgnoreCase("team")) {
    if (args[1].equalsIgnoreCase("1")) {
        //TEAM 1 SET
    Player target1 = Bukkit.getPlayer(args[2]);
    p.sendMessage("§aDu wurdest von §5§l" + p.getName() + "§a§r in Team 1 eingesetzt!");
    Bukkit.broadcastMessage("§aDer Spieler §5§l" + target1.getName() + "§r§a wurde von §5§l" + p.getName() + "§r§a in Team §4§l1 §r§aeingesetzt!");

// -HIER SOLL EIN PUBLIC STRING HIN DEN ICH AUS JEDER KLASSE AUFRUFEN KANN // - ODER ETWAS ANDERES ES SOLLTE IRGENDWIE SO SEIN:

   Public Static String Team1 = Target1.getName();

//TEAM 2

} else if (args[1].equalsIgnoreCase("2")) {
    //TEAM 2 SET
    Player target2 = Bukkit.getPlayer(args[2]);
    p.sendMessage("§aDu wurdest von §5§l" + p.getName() + "§a§r in Team 2 eingesetzt!");
    Bukkit.broadcastMessage("§aDer Spieler §5§l" + target2.getName() + "§r§a wurde von §5§l" + p.getName() + "§r§a in Team §4§l2 §r§aeingesetzt!");

mfg colin

Computer, programmieren, Java, Minecraft, Informatik, Bukkit, Bukkit-Plugin, Spigot Server, Spiele und Gaming
Womit schreibt man eine Maschinensprache?

Hallo. Wenn ich es richtig verstanden habe, wurde das erste Computerprogramm mit einer Maschinensprache geschrieben, weil es davor keine Programme gab, auf denen man ein Programm hätte schreiben können. Aber wie genau soll man sich das vorstellen?

Ist sie Maschinensprache ein Code? Und wäre es heute möglich einen Proto-Computer zu kaufen und ihn mit einer Maschinensprache zu programmieren? Wie gibt man diese Sprache ein? Hätte dieser Computer mehrere Millionen Schalter, die jeden Transistor im Prozessor an und ausschalten kann? Werden solche Proto-Computer noch gebaut? Ich nehme an, dass man einen modernen Laptop keine Maschinen Sprache eigenen kann.

Kann man die Entwicklung der Computer mit der Metallverarbeitung vergleichen? Wenn man eine Schraube herstellen will braucht man zwangsläufig Metallwerkzeuge. Diese kann man aber nur mit anderen Metallwerkzeugen herstellen. Das geht immer weiter zurück in die Vergangenheit bis zum ersten Metall Werkzeug, welches mit Steinwerkzeugen gebaut wurde.

Wenn ich heute eine Schraube bauen möchte aber nur Steinzeit Werkzeug habe, bräuchte ich ca 10.000 Jahre, bis ich eine Drehmaschine und Gewindeschneider entwickelt habe.

Würde man heute von Grund auf ab Proto-Computer mit Maschinensprache bis Windows 10 circa 80 Jahre brauchen, bis man es programmiert hat. Also ohne Hilfe von anderen Software?

Computer, Technik, programmieren, Informatik, Programmiersprache, Technologie
C# Prozess mit einem Admin Konto starten. Wie?

Moin,

Ich habe nun sehr lange im Internet gegoogelt und habe immer noch keine Antwort auf mein Problem gefunden.

Aber nun zu meinem Problem:

Ich habe eine Anwendung geschrieben, die ich gerne als Administrator mit erhöhten Rechten starten möchte(mit Hilfe eines neuen Programms). Mein Problem ist nun, dass Visual Studio mir die ganze Zeit bei dem Programm, welches die Anwendung starten soll, die folgende Fehlermeldung bringt: "System.ComponentModel.Win32Exception: "Der angeforderte Vorgang erfordert erhöhte Rechte"".

Im Internet finde ich leider nicht viel darüber, wie man diese Meldung umgehen kann.

Wie ich mein Prozess starte, der die Admin Rechte benötigt:

SecureString securestring = new SecureString();

      string Passwort = "[Admin-Password]";

      foreach (char char in Passwort)

      {

        securestring.AppendChar(char);

      }

      ProcessStartInfo processstartinfo = new ProcessStartInfo();

      processstartinfo.UserName = "[Admin-Account]";

      processstartinfo.Password = securestring;

      processstartinfo.Verb = "runas";

      processstartinfo.FileName = @"[App, die Admin Rechte braucht]";

      processstartinfo.UseShellExecute = false;//wird von VS so verlangt

      Process.Start(processstartinfo);// Hier taucht die Fehlermeldung auf

Und nun ist meine Frage, wie ich das ganze mache....

Oder bin ich auf ein Problem gestoßen, welches ein Sicherheits-Feature von Windows ist?

Edit: Die Aufgabenplanung unter Windows ist leider auch keine Möglichkeit, da das Programm leider nicht angezeigt wird...

Danke schon mal im Vorhinein!

Computer, Windows, programmieren, C Sharp

Meistgelesene Beiträge zum Thema Programmieren