私のGUIの1つのクラスは、ファイル名の変数を持っています。これを別のクラスに渡して、毎回ファイルの名前をハードコードすることなくファイルを処理できるようにしたいと思います。プログラムはうまくコンパイルされますが、正しく実行することはできません。 ファイル名(GUI)として別のクラスの変数を持つ
public void run() {
WordsCounter2 fileName = new WordsCounter2();
essayName = fileName.getFileList();
File f = new File(essayName);
//other code
WordsCounter2
は、変数fileNameに、私はこのクラスからそれを呼び出すと、ファイル名としてそれを割り当てるよを収容するクラスですが、これは動作しません。助けてもらえますか? if (rVal == JFileChooser.APPROVE_OPTION) {
File[] selectedFile = fileChooser.getSelectedFiles();
fileList = "nothing";
if (selectedFile.length > 0)
fileList = selectedFile[0].getName();
for (int i = 1; i < selectedFile.length; i++) {
fileList += ", " + selectedFile[i].getName();
}
statusBar.setText("You chose " + fileList);
}
else {
statusBar.setText("You didn't choose a file.");
}
私が選択したファイルをリストするGUI上にラベルがあるので、fileListは空ではありません。
ここに私の新しい編集があります:例外はスキャナの最後の行で発生し、NPEをスローします。手伝ってくれますか?ファイルは、カンマ区切りのファイル名を受け付けませんので
public void run() {
WordsCounter2 pathNamesList = new WordsCounter2();
essayName = pathNamesList.getPathNamesList();
essayTitle = new String[essayName.size()];
essayTitle = essayName.toArray(essayTitle);
for (int i = 0; i < essayTitle.length; i++) {
f = new File(essayTitle[i]);
}
try {
Scanner scanner = new Scanner(f);
あなたがポストに取得しているエラーを追加することはできますか?また、WordsCounter2.getFileList()のコードを追加すると便利です。 – mbsingh
コードは次のとおりです。 –
public WordsCounter2(文字列ファイルリスト){ this.fileList = fileList; } public String getFileList(){ return fileList; } –