【发布时间】:2012-07-15 19:59:36
【问题描述】:
我对 java 非常陌生,并尝试扩展 File 类以使用下面的类向其添加更多方法和属性
import java.io.File;
public class RecordingFile extends File {
private static final long serialVersionUID = -4774703382591639948L;
String RecordingNameFormatted;
String RecordingDurationFormatted;
String RecordingSizeFormatted;
String RecordingDateFormatted;
String RecordingBitrateFormatted;
public RecordingFile(String path) {
super(path);
File f = new File(path);
RecordingNameFormatted = f.getName().replace(".mp3", "");
RecordingDurationFormatted = Utils.millisecondsToHours(Utils.getMp3DurationPureJava(f));
RecordingSizeFormatted = Utils.humanReadableByteCount(f.length(), true);
RecordingDateFormatted = Utils.longToDate(f.lastModified());
RecordingBitrateFormatted = Utils.getBitratePureJava(f) +"Kbps";
}
}
以上无法正常工作。我什至不确定是否
File f = new File(path);
应该在那里。例如当我尝试这个时
ArrayList<RecordingFile> ret = new ArrayList<RecordingFile>();
RecordingFile filesDir = new RecordingFile(path);
if (!filesDir.exists()) {
filesDir.mkdirs();
}
RecordingFile[] list = filesDir.listFiles();
Eclipse 告诉我“类型不匹配:无法从 File[] 转换为 RecordingFile[]” 我怎样才能通过添加更多的属性/方法来扩展 File 类?
【问题讨论】:
-
即使是 C# 程序员也应该在 java 中将他们的变量名写成小写。 ;)