java开发实战(I)----------078从字符串中分离文件路径,文件名及扩展名

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();
        
    }
}
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值