Swing Desktop.getDesktop() 打开本地文件、文件夹

1.java自带的API

 

打开文件:
File file=new File("c://test.pdf"); 
java.awt.Desktop.getDesktop().open(file);

 

打开目录:
File file=new File("c://test.pdf"); 
java.awt.Desktop.getDesktop().open(file.getParentFile());

  2.如果想实现打开目录并选中指定文件时,用上述api就不能实现了,可以调用windows的explorer.exe

 

打开目录并选中指定文件
File file=new File("c://test.pdf"); 
Runtime.getRuntime().exec(
"rundll32 SHELL32.DLL,ShellExec_RunDLL "
+ "Explorer.exe /select," + file.getAbsolutePath());

    Windows 资源管理器命令行参数

       /n 为默认选择内容打开一个新的单窗格窗口。默认选择内容通常是安装 Windows 的驱动器的根目录。

   /e 使用默认视图启动 Windows 资源管理器。

   /e,<object> 使用默认视图启动 Windows 资源管理器并把焦点定位在指定文件夹上。

   /root,<object> 打开指定对象的一个窗口视图。

   /select,<object> 打开一个窗口视图,指定的文件夹、文件或程序被选中。






Swing是Java的一个图形用户界面(GUI)工具包,它允许开发者创建桌面应用程序。如果你想要在Swing应用中打开本地文件,你可以使用`JFileChooser`组件,它是专门用于文件选择的。 以下是一个简单的示例代码片段,展示了如何使用`JFileChooser`让用户选择并打开本地文件: ```java import javax.swing.*; import java.io.File; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class FileChooserExample extends JFrame { private JButton openButton; public FileChooserExample() { setLayout(new FlowLayout()); openButton = new JButton("打开文件"); openButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JFileChooser fileChooser = new JFileChooser(); int result = fileChooser.showOpenDialog(FileChooserExample.this); if (result == JFileChooser.APPROVE_OPTION) { // 用户选择了文件 File selectedFile = fileChooser.getSelectedFile(); System.out.println("用户选择了文件: " + selectedFile.getAbsolutePath()); // 这里可以添加实际处理文件的代码,比如读取内容等 } } }); add(openButton); setSize(300, 150); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(() -> { new FileChooserExample(); }); } } ``` 在这个例子中,当用户点击"打开文件"按钮时,会弹出一个文件选择对话框,用户可以选择一个本地文件。然后程序会在控制台打印所选文件的路径。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值