プロが教えるわが家の防犯対策術!

以下に示したプログラムのコンストラクタの引数の部分(File objFile)にディレクトリパスである
C:\Users\NEC-PCuser\ArtNameを記述したいのですがエラーになってしまいます。どのように記述すれば引数にディレクトリパスを指定することができるかご教授お願いいたします。

以下がプログラムになります。

/**
* ID3Tag取得プログラム:FileListクラス
* 指定ディレクトリ以下のファイル一覧を取得するクラス
*/

import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Iterator;

public class FileList {
private ArrayList objMp3FileList = null;
private ArrayList objDirList = null;
private File objFile_;

public FileList(File objFile) { /*public FileList("C:\\Users\\NEC-PCuser\\ArtName") */
objFile_ = objFile; /*↑↑のように記述するとエラーになります。↑↑*/
}

public long getFileInfo() throws UnsupportedEncodingException {
if(objFile_ == null) {
System.out.print("Argment is null.\n");
return -1; // error
}

String strCurrentPath = objFile_.toString();
if(!objFile_.isDirectory()) {
System.out.print("This Path is not Directry. :" + strCurrentPath + "\n");
return -1;
}

objMp3FileList = new ArrayList();
objDirList = new ArrayList();

for(int i = 0; objFile_.listFiles().length > i; i++) {

if(objFile_.listFiles()[i].isDirectory()) {
FileList objFileList = new FileList(objFile_.listFiles()[i]);
objFileList.getFileInfo();
objDirList.add(objFileList);

} else if(objFile_.listFiles()[i].isFile()) {
MP3File objMP3File = new MP3File(objFile_.listFiles()[i]);

objMP3File.getMP3Info();
objMp3FileList.add(objMP3File);
}
}

return 0;
}
public Iterator getMP3FileIte() {
return objMp3FileList.iterator();
}
public Iterator getDirIte() {
return objDirList.iterator();
}
public String getDir() {
return objFile_.getPath();
}
}

A 回答 (1件)

え? つまり,


public FileList("C:\\Users\\NEC-PCuser\\ArtName") {
objFile_ = objFile;
}
としたらエラーが出た, ってこと? そりゃ当然でしょう (「当然」と思えないなら「クラスの作り方」の解説をじっくり読み直してください). そもそも何したいの?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。もう一度プログラムを組み直してみます。

お礼日時:2012/02/20 01:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!