【发布时间】:2014-02-25 03:54:00
【问题描述】:
我一直在用 Java 编写音频/视频转换器。除了 JFileChooser 之外,一切都运行顺利。 (我通常使用 AWT FileDialog 来选择文件,但不能在这个项目中使用它,因为我听说 FileDialog 是 OS Dependent - 请告知。)
这是我的文件选择过程的工作原理:
我已经定义了一个公共字符串 fileLocn。 fileLocn 将包含所选文件的位置。
-
我的程序使用 Swing。有一个 JButton 将打开 JFIleChooser,称为 FilePicker。 FilePicker 的代码如下:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: JFileChooser FilePicker=new JFileChooser(); int returnVal = FilePicker.showOpenDialog(this); if (returnVal == JFileChooser.APPROVE_OPTION) { File file=FilePicker.getSelectedFile(); formatpanel.setEnabled(true); fileLocn=FilePicker.getCurrentDirectory().toString()+"\\"+FilePicker.getName(); filelocation.setText(fileLocn); } FilePicker 选择文件并将其位置提供给字符串 fileLocn,该字符串用作另一个文件的位置。请注意,文件位置 TextField 是装饰性的,不会在主代码中使用。
这就是问题出现的地方。 getCurrentDirectory() 命令工作正常,但 getName() 命令作为 null 传递。因此,如果我在 C: 驱动器的“视频”文件夹中选择文件 FQSEMI.mp4,它会显示为 C:\Videos\null 而不是所需的 C:\Videos\FQSEMI。
请指出我的代码有什么问题。谢谢。
(P.S. 保证对相关答案投赞成票,我会在学分中提到你:))
【问题讨论】:
标签: java string swing file jfilechooser