package SplitPath;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class SplitPath extends JFrame {
private JTextField tf_path;
private JButton action_button;
private JTextArea ta_info;
private JPanel north,center,panel;
public SplitPath(){
tf_path=new JTextField("",30);
action_button=new JButton("选择文件");
ta_info=new JTextArea(10,40);
panel=new JPanel();
panel.add(tf_path);
panel.add(action_button);
north=new JPanel();
north.add(panel);
add(north,BorderLayout.NORTH);
center=new JPanel();
center.add(ta_info);
add(center,BorderLayout.CENTER);
action_button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//打开文件选择对话框
JFileChooser chooser=new JFileChooser();
int option=chooser.showOpenDialog(chooser);
if(option==JFileChooser.APPROVE_OPTION){
//获取选择的文件
File file=chooser.getSelectedFile();
//获取文件的绝对路径
String path=file.getAbsolutePath();
//从字符串后开始检索
int splitIndex=path.lastIndexOf("\\");
int typeIndex=path.lastIndexOf(".");
//用于处理没有“.*”(拓展名的情况)
if(typeIndex<0)
typeIndex=path.length();
//文件路径开始到“\”为文件路径
String filePath=path.substring(0,splitIndex);
//"\"符号长度+1,到“.”为文件名称
String fileName=path.substring(splitIndex+1,typeIndex);
String extName=path.substring(typeIndex);
tf_path.setText(path);
ta_info.setText(" ");
ta_info.append(" 文件名称:"+fileName+"\n");
ta_info.append("扩展名称:"+extName+"\n");
ta_info.append("文件路径:"+filePath+"\n");
}
}
});
pack();
}
}