用java语言创建一个窗口应用,输入文件全路径,可以读入文件内容,显示在界面上,对界面中 文本内容进行修改后,点击保存按钮可以将文本内容保存到文件。
时间: 2024-03-26 08:36:24 浏览: 56
好的,下面是使用 Java Swing 创建一个窗口应用,实现读取、修改和保存文件内容的 Java 代码:
```java
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class TextEditor extends JFrame implements ActionListener {
private JTextArea textArea;
private JButton openButton;
private JButton saveButton;
public TextEditor() {
// 初始化窗口
setTitle("文本编辑器");
setSize(600, 400);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// 初始化控件
textArea = new JTextArea();
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setPreferredSize(new Dimension(580, 350));
openButton = new JButton("打开文件");
openButton.addActionListener(this);
saveButton = new JButton("保存文件");
saveButton.addActionListener(this);
JPanel buttonPanel = new JPanel();
buttonPanel.add(openButton);
buttonPanel.add(saveButton);
// 将控件添加到窗口
Container contentPane = getContentPane();
contentPane.add(scrollPane, BorderLayout.CENTER);
contentPane.add(buttonPanel, BorderLayout.SOUTH);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == openButton) {
// 打开文件对话框
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
// 读取文件内容并显示在文本框中
File file = fileChooser.getSelectedFile();
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line).append('\n');
}
textArea.setText(sb.toString());
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (e.getSource() == saveButton) {
// 保存文件对话框
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showSaveDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
// 将文本框中的内容保存到文件中
File file = fileChooser.getSelectedFile();
try (FileWriter writer = new FileWriter(file)) {
writer.write(textArea.getText());
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
public static void main(String[] args) {
TextEditor editor = new TextEditor();
editor.setVisible(true);
}
}
```
解释一下这段代码:
1. 首先,我们创建一个 `TextEditor` 类,它继承自 `JFrame`,表示我们要创建一个窗口应用。
2. 在 `TextEditor` 类的构造方法中,我们初始化窗口和控件,将文本框和按钮添加到窗口中。
3. 在 `TextEditor` 类中实现 `ActionListener` 接口,处理按钮的点击事件。
4. 当点击“打开文件”按钮时,我们创建一个 `JFileChooser` 对象,显示文件对话框,让用户选择要打开的文件。如果用户选择了文件,我们就读取文件内容,并将其显示在文本框中。
5. 当点击“保存文件”按钮时,我们同样创建一个 `JFileChooser` 对象,显示文件对话框,让用户选择要保存的文件。如果用户选择了文件,我们就将文本框中的内容保存到文件中。
希望这个代码对您有所帮助。如果您有任何问题,可以随时问我。
阅读全文