In Java habe ich Text aus einem Textfeld in einer String-Variablen namens "text".
Wie kann ich den Inhalt der Variablen "text" in einer Datei speichern?
In Java habe ich Text aus einem Textfeld in einer String-Variablen namens "text".
Wie kann ich den Inhalt der Variablen "text" in einer Datei speichern?
Wenn Sie nur Text und keine binären Daten ausgeben wollen, funktioniert das Folgende:
PrintWriter out = new PrintWriter("filename.txt");
Dann schreiben Sie Ihre Zeichenkette dorthin, so wie Sie es mit jedem anderen Ausgabestrom tun würden:
out.println(text);
Sie benötigen wie immer eine Ausnahmebehandlung. Rufen Sie unbedingt out.close()
wenn Sie mit dem Schreiben fertig sind.
Wenn Sie Java 7 oder höher verwenden, können Sie das " Versuch-mit-Ressourcen-Anweisung "Dies schließt automatisch Ihre PrintStream
wenn Sie damit fertig sind (d.h. den Block verlassen), wie folgt:
try (PrintWriter out = new PrintWriter("filename.txt")) {
out.println(text);
}
Sie müssen immer noch explizit die java.io.FileNotFoundException
wie bisher.
Apache Commons IO enthält einige großartige Methoden für diese Aufgabe, insbesondere FileUtils enthält die folgende Methode:
static void writeStringToFile(File file, String data, Charset charset)
die es Ihnen ermöglicht, mit einem einzigen Methodenaufruf Text in eine Datei zu schreiben:
FileUtils.writeStringToFile(new File("test.txt"), "Hello File", Charset.forName("UTF-8"));
Vielleicht möchten Sie auch die Kodierung der Datei angeben.
In Java 7 können Sie dies tun:
String content = "Hello File!";
String path = "C:/a.txt";
Files.write( Paths.get(path), content.getBytes());
Mehr Informationen gibt es hier: http://www.drdobbs.com/jvm/java-se-7-new-file-io/231600403
Werfen Sie einen Blick auf die Java File API
ein kurzes Beispiel:
try (PrintStream out = new PrintStream(new FileOutputStream("filename.txt"))) {
out.print(text);
}
Ich habe gerade etwas Ähnliches in meinem Projekt gemacht. Verwenden Sie FileWriter wird Ihnen einen Teil Ihrer Arbeit erleichtern. Und hier finden Sie schöne チュートリアル .
BufferedWriter writer = null;
try
{
writer = new BufferedWriter( new FileWriter( yourfilename));
writer.write( yourstring);
}
catch ( IOException e)
{
}
finally
{
try
{
if ( writer != null)
writer.close( );
}
catch ( IOException e)
{
}
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.