[英]store and add new line + date stamp to document from java app
您好,我已經編寫了一個應用程序,可以將TextArea中的某些內容寫到文本文檔中,但是問題是,他確實編寫了它,但是並沒有存儲它,當我再次打開它時,要在同一個文本文檔中編寫更多內容(或者創建一個新文檔)。 我該怎么辦? 我需要的附加信息是如何在文本文檔中輸入的文本旁邊添加日期戳? 這是我的代碼:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileWriter;
import java.io.IOException;
public class Write extends JFrame {
JTextArea text;
public Write() {
this.setTitle("Writerz!");
setSize(400, 200);
setResizable(false);
setLocation(370, 150);
setLayout(null);
JLabel lbltitlu = new JLabel("Insert your text here");
lbltitlu.setBounds(85, 5, 120, 25);
this.add(lbltitlu);
final JTextArea text = new JTextArea();
text.setSize(199, 199);
text.setBounds(85, 65, 120, 25);
add(text);
JButton btn = new JButton("Add text");
btn.setSize(99, 99);
btn.setBounds(125, 125, 120, 25);
add(btn);
ActionListener listenerbtn = new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO auto- generated method
String actionbtn = arg0.getActionCommand();
if (actionbtn.equals("Add text")) {
Adauga(text.getText());
}
}
};
btn.addActionListener(listenerbtn);
}
public void Adauga(String text) {
String filename = "test.txt";
FileWriter writer = null;
try {
writer = new FileWriter(filename);
writer.write(text);
} catch (IOException exception) {
System.err.println("Save oops");
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException exception) {
System.err.println("Error closing writer");
exception.printStackTrace();
}
}
}
}
}
謝謝
嘗試這個
BufferedWriter out = new BufferedWriter(new FileWriter(path));
out.write(text.getText());
out.close();
而不是使用FileWriter
。 我用Java做了一個記事本,這就是我用的。 3行代碼,它完美地工作。 對於日期,您可以簡單地使用Date(),導入java.util.Date
和java.sql.Timestamp
。
Date date= new Date();
Timestamp ts = new Timestamp(date.getTime()));
你可以試試:
File file = new File("test.txt");
// Create the file if it doesn't exist
if(!file.exists()){
file.createNewFile();
}
// With true you append
FileWriter fileWritter = new FileWriter(file.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(data);
bufferWritter.close();
您可以使用以下代碼替換Adauga方法:
public void Adauga(String text) {
java.util.Date date = new java.util.Date();
Timestamp ts = new Timestamp(date.getTime());
BufferedWriter bufferWritter = null;
try {
File file = new File("test.txt");
FileWriter fileWritter = new FileWriter(file, true);
bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write("Hello: " + " --- " + ts + "\r\n");
bufferWritter.close();
} catch (IOException exception) {
System.err.println("Save oops");
} finally {
if (bufferWritter != null) {
try {
bufferWritter.close();
} catch (IOException exception) {
System.err.println("Error closing writer");
exception.printStackTrace();
}
}
}
}
注意,您需要導入包java.sql.Timestamp和java.util.Date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.