📅  最后修改于: 2023-12-03 15:31:33.930000             🧑  作者: Mango
本文介绍一款java编写的文件阅读器,可以读取utf 8编码的文本文件。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class TextFileReader extends JFrame {
private JTextArea textArea;
private JFileChooser fileChooser;
public TextFileReader() {
super("Java 文件阅读器 utf 8");
// 创建文本区域
textArea = new JTextArea();
// 创建文件选择器
fileChooser = new JFileChooser();
fileChooser.setDialogTitle("打开文本文件");
// 添加菜单
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("文件");
JMenuItem openMenuItem = new JMenuItem("打开");
openMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int result = fileChooser.showOpenDialog(null);
if (result == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
if (selectedFile.canRead()) {
// 读取文件内容
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(selectedFile));
String line = null;
while ((line = reader.readLine()) != null) {
textArea.append(line + "\n");
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
}
}
});
fileMenu.add(openMenuItem);
menuBar.add(fileMenu);
setJMenuBar(menuBar);
// 添加文本区域到窗口
getContentPane().add(new JScrollPane(textArea), BorderLayout.CENTER);
// 设置窗口大小
setSize(400, 300);
// 显示窗口
setVisible(true);
// 关闭窗口时退出程序
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
// 入口方法
public static void main(String[] args) {
new TextFileReader();
}
}
以上就是本文介绍的java文件阅读器,可以方便地打开并查看utf 8编码的文本文件。