import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.*;
public class ReadInTextArea extends Frame {
public ReadInTextArea(){
this.setSize(400, 400);
setLayout(new BorderLayout());
final TextArea textArea = new TextArea("",5,20,TextArea.SCROLLBARS_VERTICAL_ONLY);
add(textArea, BorderLayout.CENTER);
final Button file = new Button("选择文件");
add(file, BorderLayout.SOUTH);
final FileDialog filedialog = new FileDialog(this,"选择文件");
ActionListener actionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == file){
filedialog.setVisible(true);
FileReader fr = null;
try {
fr = new FileReader(filedialog.getDirectory() + filedialog.getFile());
BufferedReader br = new BufferedReader(fr);
StringBuilder sb = new StringBuilder();
String tmp;
java.util.List list = new ArrayList<>();
while((tmp=br.readLine())!=null){
list.add(tmp);
}
Collections.sort(list, new Comparator() {
@Override
public int compare(String o1, String o2) {
return Integer.parseInt(o2.split("#")[1]) - Integer.parseInt(o1.split("#")[1]);
}
});
for (int i = 0; i < list.size(); i++) {
sb.append(list.get(i));
sb.append("\n");
}
textArea.setText(sb.toString());
br.close();
fr.close();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
};
file.addActionListener(actionListener);
this.setVisible(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) {
ReadInTextArea readInTextArea = new ReadInTextArea();
}
}