Java设计程序完成: (1) 消息类,包括发送人,接受人,发消息的时间、消息内容等。 (2)把若干个消息对象存到文件中。 (3) 从文件中读入若于消息对象,并输出到控制台。
时间: 2024-10-02 10:02:01 浏览: 19
在Java中设计这样的程序,我们可以创建三个核心类:`Message`, `FilePersistence`, 和 `ConsoleOutput`。这里是一个简化的例子:
1. **消息类(Message.java)**:
```java
public class Message {
private String sender;
private String receiver;
private Date timestamp;
private String content;
// 构造函数, getter和setter方法省略...
public Message(String sender, String receiver, Date timestamp, String content) {
this.sender = sender;
this.receiver = receiver;
this.timestamp = timestamp;
this.content = content;
}
// 提供getter方法获取信息
public String getSender() { return sender; }
// ...其他getter和setter...
}
```
2. **文件持久化(FilePersistence.java)**:
```java
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class FilePersistence {
public void saveMessages(List<Message> messages, String fileName) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) {
for (Message message : messages) {
writer.write(message.getSender() + "," + message.getReceiver() + "," + message.getTimestamp().toString() + "," + message.getContent());
writer.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public List<Message> loadMessages(String fileName) {
List<Message> messages = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
String line;
while ((line = reader.readLine()) != null) {
String[] parts = line.split(",");
messages.add(new Message(parts[0], parts[1], new Date(Long.parseLong(parts[2])), parts[3]));
}
} catch (IOException e) {
e.printStackTrace();
}
return messages;
}
}
```
3. **控制台输出(ConsoleOutput.java)**:
```java
public class ConsoleOutput {
public void displayMessages(List<Message> messages) {
for (Message message : messages) {
System.out.println("发送者:" + message.getSender() + ", 接收者:" + message.getReceiver() + ", 时间:" + message.getTimestamp() + ", 内容:" + message.getContent());
}
}
}
```
阅读全文