gpt4 book ai didi

java - 使用 JFileChooser 选择 srt 文件并读取它

转载 作者:行者123 更新时间:2023-12-01 13:37:54 24 4
gpt4 key购买 nike

我正在尝试在 JFileChooser 中工作,要从另一个类中选择文件,我不关心按钮的外观,但当有人单击它时。它应该显示 JFileChooser 选择 srt 文件(类似于文本文件,但另一种类型)并且它应该读取它。

这是我的第一个类

    package AnimeAid;
import java.io.*;
import javax.swing.*;

public class ReadFile {
private File ourFile= null;
private static final JFileChooser selectSrtFile = new JFileChooser();
String filePath = "";

public ReadFile(){

}

public File getSelectFile(){
selectSrtFile.setFileSelectionMode(JFileChooser.FILES_ONLY);
selectSrtFile.showSaveDialog(null);
ourFile = selectSrtFile.getSelectedFile();
filePath = ourFile.getAbsolutePath();
return ourFile;
}

public String readFileInput(){
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(getSelectFile()), "UTF-8"));
String line;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
}catch(IOException ex){
return "there is wrong";
}
return "file is added";

}

}

扫描的类

    package AnimeAid;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


/**
*
* @author isslam
*/
public class GuiInterface extends JFrame {

JTable table;
JButton is;
ReadFile t;

public GuiInterface(String title){
setSize(900, 700);
setTitle(title);
setDefaultCloseOperation(GuiInterface.EXIT_ON_CLOSE);
is = new JButton();
t = new ReadFile();
Container cp = getContentPane();
cp.add(is);

is.addActionListener(new addButtonWatcher());

}



private class addButtonWatcher implements ActionListener{

@Override
public void actionPerformed(ActionEvent a){
Object buttonPressed=a.getSource();
if(buttonPressed.equals(is))
{
t.getSelectFile();
}
}
}
}

错误信息

    Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: animeaid.GuiInterface
at animeaid.main.main(main.java:15)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

最佳答案

看起来你的两个类有不同的包:

package animeFactor;
^

package animefactor;
^

我相信 Java 包名称区分大小写,因此尽管您(可能)已将这两个文件放在同一个文件夹中,GuiInterface 类仍无法使用 ReadFile code> 类而不导入它。

要么将包定义更改为相同,要么向 GuiInterface 添加导入语句:

import animeFactor.ReadFile;

关于java - 使用 JFileChooser 选择 srt 文件并读取它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21124689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com