用java创建一个窗口应用,输入文件全路径,可以读入文件内容,显示在界面上,对界面中 文本内容进行修改后,点击保存按钮可以将文本内容保存到文件。 提示:使用 JFileChooser 控件,并对该控件设置 ActionListener,获取已选择文件 getSelectedFile()。将读取的文本内容,显示在 JTextArea 控件上
时间: 2024-03-07 14:50:47 浏览: 63
好的,我理解了你的问题。以下是一个简单的 Java 程序,它可以创建一个窗口应用,读取文件内容并在界面上显示,允许用户编辑并保存文件。请注意,由于安全性和权限问题,Java 并不能直接访问文件系统中的任何文件,因此需要使用 JFileChooser 控件和文件输入输出流。
```java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class FileEditor extends JFrame implements ActionListener {
private JTextArea textArea;
private JButton openButton;
private JButton saveButton;
private JFileChooser fileChooser;
private File currentFile;
public FileEditor() {
super("File Editor");
textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setPreferredSize(new Dimension(500, 400));
getContentPane().add(scrollPane, BorderLayout.CENTER);
openButton = new JButton("Open");
openButton.addActionListener(this);
saveButton = new JButton("Save");
saveButton.addActionListener(this);
JPanel buttonPanel = new JPanel();
buttonPanel.add(openButton);
buttonPanel.add(saveButton);
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
fileChooser = new JFileChooser();
setSize(600, 500);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == openButton) {
int returnVal = fileChooser.showOpenDialog(FileEditor.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
currentFile = fileChooser.getSelectedFile();
try {
FileReader reader = new FileReader(currentFile);
textArea.read(reader, null);
reader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (e.getSource() == saveButton) {
if (currentFile == null) {
int returnVal = fileChooser.showSaveDialog(FileEditor.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
currentFile = fileChooser.getSelectedFile();
}
}
if (currentFile != null) {
try {
FileWriter writer = new FileWriter(currentFile);
textArea.write(writer);
writer.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
public static void main(String[] args) {
FileEditor editor = new FileEditor();
editor.setVisible(true);
}
}
```
在这个程序中,我们创建了一个名为 "File Editor" 的窗口应用,并添加了一个 JTextArea 控件和两个按钮:Open 和 Save。当用户单击 Open 按钮时,我们使用 JFileChooser 控件打开文件对话框,允许用户选择要打开的文件。如果用户选择了一个文件,我们打开这个文件,读取它的内容并在 JTextArea 控件上显示。当用户单击 Save 按钮时,我们检查当前是否有一个文件被打开,如果没有,则使用 JFileChooser 控件打开一个保存文件对话框,允许用户指定要保存的文件名。如果用户指定了一个文件名,我们使用文件输出流将 JTextArea 控件中的内容写入该文件。
这是一个非常简单的例子,但它可以帮助你了解如何使用 Java 编写一个简单的窗口应用程序,读取和写入文件。
阅读全文