[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends:00682] お助けください。
------------------------- infoseek ML Sponsor --------------------------
■比べて下さい! オリックスVIPローンカードは、こんなにもオトク
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
実質年率8.7%からご利用可能 ご利用限度額最高300万円
あなたの街の【銀行】【郵便局】【コンビニ】などでご利用頂けます。
http://bishop.va-cats.com/cgi-bin/vts/va0/ID=001191802537
------------------------------------------------------------------------
はじめまして、フジタと申します。
実はプログラマなのですが、今の会社に入って全くプログラムをやって
ないもので・・・
次のような、コード(もちろん、仕事のものではありませんが・・・)の
作成に困っております。
どなたか良いお知恵をお願いできますでしょうか・・・
1.パス情報をフルパス表示に変更。
例) \root\bin\memo.exe
2.パスの最後にファイルサイズを表示。
例) \root\bin\memo.exe (10000)
ただし、ディレクトリの場合は、ディレクトリ以下の合計を表示する。
例) \root\bin (10000)
ソース(多くて申し訳ありません)
*Entry.java(ディレクトリクラス・ファイルクラスの雛型)
public abstract class Entry {
public abstract String getName(); // 名前を得る
public Entry add(Entry entry) throws FileTreatmentException { // エン
トリ追加
throw new FileTreatmentException();
}
protected abstract void printList();
public String toString() { // 文字列表現
return getName();
}
}
*File.java
public class File extends Entry {
private String name;
private int size;
public File(String name, int size) {
this.name = name;
this.size = size;
}
public String getName() {
return name;
}
protected void printList() {
System.out.println(this);
}
}
*Directory.java
import java.util.Iterator;
import java.util.Vector;
public class Directory extends Entry {
private String name; // ディレクトリの名前
private Vector directory = new Vector(); // ディレクトリエントリの集合
public Directory(String name) { // コンストラクタ
this.name = name;
}
public String getName() { // 名前を得る
return name;
}
public Entry add(Entry entry) { // エントリの追加
directory.add(entry);
return this;
}
protected void printList() { // エントリの一覧
System.out.println("\\"+this);
Iterator it = directory.iterator();
while (it.hasNext()) {
Entry entry = (Entry)it.next();
entry.printList();
}
}
}
------------------------------------------------------------------------
★秋風が心地よいこの季節 “住み替え”の季節です!
http://house.www.infoseek.co.jp/House/top?sv=RF&svx=971122