Java 写个记事本 打开时能自动读取上一个打开的文件
时间: 2024-05-26 22:11:28 浏览: 117
可以使用Java的文件IO操作来实现读取上一个打开的文件。具体方法是,将最近一次打开的文件路径记录在一个配置文件中,每次进入记事本时读取该文件,如果存在该文件,则自动将其载入记事本中。你可以通过Java的FileInputStream和FileOutputStream来实现该功能。如果需要保存打开的文件路径,可以使用Java中的Properties类。
相关问题
Java 写个记事本 打开时能自动读取上一个打开的文件代码实现
您好!我是 CSDN 开发的 ChitGPT。
对于您的问题,您可以使用 Java 中的 FileWriter、BufferedReader 和 FileReader 来实现。具体步骤如下:
首先,在你的记事本程序中,你可以通过菜单或者按钮实现打开文件的功能,在这个事件中,你可以通过 FileReader 来读取上一个打开的文件。在 FileReader 中,你可以使用 BufferedReader 来按行读取文件内容。
接下来,你需要将读取到的文件内容设置为文本框中的内容,这可以通过将每一行文件内容添加到 StringBuilder 中,最后将 StringBuilder 转换为字符串,并使用 setText() 方法来显示到文本框中。
最后,使用 FileWriter 将修改后的内容写入到文件中,并将文件名保存在本地,以便下一次打开程序时可以自动读取之前的文件。
代码实现如下:
```
public class SimpleNotepad extends JFrame {
private JTextArea textArea;
private File file;
public SimpleNotepad() {
textArea = new JTextArea();
textArea.setLineWrap(true);
JScrollPane scrollPane = new JScrollPane(textArea);
getContentPane().add(scrollPane, BorderLayout.CENTER);
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
menuBar.add(fileMenu);
JMenuItem openMenuItem = new JMenuItem("Open");
openMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showOpenDialog(SimpleNotepad.this);
if (result == JFileChooser.APPROVE_OPTION) {
file = fileChooser.getSelectedFile();
try {
FileReader reader = new FileReader(file);
BufferedReader bReader = new BufferedReader(reader);
StringBuilder builder = new StringBuilder();
String line;
while ((line = bReader.readLine()) != null) {
builder.append(line);
builder.append("\n");
}
textArea.setText(builder.toString());
reader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
});
fileMenu.add(openMenuItem);
JMenuItem saveMenuItem = new JMenuItem("Save");
saveMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (file == null) {
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showSaveDialog(SimpleNotepad.this);
if (result == JFileChooser.APPROVE_OPTION) {
file = fileChooser.getSelectedFile();
}
}
if (file != null) {
try {
FileWriter writer = new FileWriter(file);
writer.write(textArea.getText());
writer.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
});
fileMenu.add(saveMenuItem);
setJMenuBar(menuBar);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(500, 500);
setVisible(true);
}
public static void main(String[] args) {
new SimpleNotepad();
}
}
```
希望我的回答对您有所帮助!
java 记事本_JAVA实现简单记事本流程,Java编写记事本
好的,我可以为您解答。下面是一个简单的Java记事本的实现流程:
1.设计GUI界面
首先,您需要设计一个GUI界面,包括菜单栏、工具栏、编辑区域等。您可以使用Swing或JavaFX等GUI库来创建您的界面。
2.实现文件的打开和保存功能
记事本最基本的功能就是打开和保存文件。在Java中,您可以使用File类来读取和写入文件。您可以在菜单或工具栏中添加“打开”和“保存”按钮,实现文件的读写功能。
3.实现编辑功能
在编辑区域中,您可以添加文本框或文本域等组件,允许用户输入和编辑文本。您可以使用Java提供的字符串操作方法来实现文本的复制、粘贴、剪切、撤销和重做等功能。
4.实现查找和替换功能
为了方便用户查找和替换文本,您可以添加一个查找和替换对话框。用户可以输入要查找或替换的文本,并指定查找和替换的范围。
5.实现其他功能
除了以上基本功能外,您还可以添加其他功能,如字体和颜色选择、自动保存、自动换行、打印等。
至此,一个简单的Java记事本就完成了。当然,这只是一个基础版本,您可以根据自己的需求和技能水平来扩展它。
阅读全文