2016-08-13 10 views
-4

Was ist der Unterschied zwischen ihnen?Welcher der folgenden Schritte ist der beste Weg, um eine Datei zu erstellen?

Wie kann ich Daten in einem Textformat speichern und abrufen, wenn ich möchte?

Wie kann ich Daten auf einfache Weise speichern, bis ich sql lerne?

try{ 

    FileWriter fileWriter=new FileWriter("C:\\Users\\acer\\Downloads\\java  Q//somthing.txt"); 
    fileWriter.write("here is the first text"); 

    fileWriter.append(" \n the secound one "); 
    fileWriter.close(); 

} // try 

catch(IOException e){ 

    System.out.println(" an error occer "); 


} // catch 

oder auf diese Weise

WriteFile writeFile=new WriteFile(); // a class WriteFile the implements Serilizable 


try{ 

FileOutputStream fileOutputStream=new FileOutputStream("C:\\Users\\acer\\Downloads\\java Q//something.ser"); 

ObjectOutputStream objectoutputs=new ObjectOutputStream(fileOutputStream); 

objectoutputs.writeObject(writeFile); 

objectoutputs.flush(); 

objectoutputs.close(); 
} // try 

catch(IOException e){ 

    System.out.println("an error occer"); 

} // catch 
+0

Es hängt von den Anforderungen Ihrer Software ab. Serialisierung kann gefährlich sein, überprüfen Sie [diesen Kommentar] (http://stackoverflow.com/questions/38904182/store-restore-snapshot-state-of-entire-application/38904365#comment65227627_38904365) Ich schrieb, warum Sie wollen Vermeiden Sie die Serialisierung, wenn es darum geht, den Zustand auf Ihrem Laufwerk zu speichern. Ich würde einen einfachen 'FileWriter'- oder Speicherzustand in einer 'Properties'-Datei empfehlen. Wenn die Benutzer die Daten nicht lesen sollten, wenn sie auf dem Laufwerk gespeichert sind, können Sie Ihr eigenes Verschlüsselungssystem erstellen, um den Zustand zu konvertieren, der gerade gespeichert wird. –

+0

Im Jahr 2016 wäre "pure java object serialiazation" definitiv nicht Ihre erste Wahl. Es kommt mit vielen Einschränkungen; sogar Sicherheitsrisiken. Wenn überhaupt, erwägen Sie, in JSON-Strings zu "serialisieren" und diese als lesbaren Text zu speichern. Das macht das Testen für Sie viel einfacher. und deine naiven Ideen gegeben; Ich schätze, Sie werden viel Zeit damit verbringen ... zu testen und zu debuggen. – GhostCat

+0

@GhostCat JSON ist einfach zu lesen. Wenn sie auf einem Laufwerk gespeichert werden, können Benutzer (einfach) auf das JSON zugreifen und es bearbeiten, um die Software zu nutzen. Es gibt andere Formen von lokalem persistentem Speicher, die leicht zu testen und schwer zu nutzen sind. Es hängt stark von den Anforderungen seiner Software ab. –

Antwort

0

Wenn Sie es als Text schreiben kann, dass verwenden. Es ist am einfachsten zu arbeiten. Sie können es anzeigen und in einem Texteditor bearbeiten.

sollten Sie Serialisierung verwenden, wenn Sie Objekte haben, die nicht einfach in Text umgewandelt werden kann (oder aus Leistungsgründen, obwohl Java Serialisierung ist sehr langsam, so ist es nicht eine gute Wahl für die entweder)

BTW: Ich würde vermeiden

  • sowohl \\ und / im Pfad. Benutze einfach das eine oder das andere.
  • mit mehreren Leerzeichen in einem Verzeichnisnamen. Dies ist verwirrend IMHO, es sei denn, Sie können sagen, warum Sie genau diese vielen Räume verwenden.
  • Verwenden Sie .write() oder .append(), aber nicht beide.
  • Verwenden Sie try-with-resource, um den Closeable FileWriter zu schließen.

z.B.

File file = new File("C:\\Users\\acer\\Downloads\\java Q\\something.txt"); 
try (PrintWriter pw = new PrintWriter(file)) { 
    ps.println("here is the first text"); 
    ps.println("the second one "); 
} 
Verwandte Themen