1

ファイルからのオブジェクトの読み取りに問題があります..

主に、eshop end call をメソッド loadshop にしました。

MyShop eshop = new MyShop();
eshop.loadShop("eshop.txt");

また、ファイルからショップ オブジェクトを取得しています。

@Override
public void loadShop(String filename) {

    try{
         ObjectInput out = new ObjectInputStream(new FileInputStream(filename));
         MyShop shop = (MyShop)out.readObject();
         out.close();

    } catch (Exception e) {
           e.printStackTrace();
    }
}

しかし、「ショップ」を「eショップ」に割り当てる方法がわかりません

回答ありがとうございます..:-) (私の英語でごめんなさい)

4

4 に答える 4

0

Just redesign, you don't need to write

MyShop eshop = new MyShop();

Instead, write

MyShop eshop = MyShop.loadShop("eshop.txt");

and make the loadShop method static. And make it return the MyShop instance, if it isn't already doing that.

If this is not an option, it is still better to get that instance through a hack than to write manual copying code:

public class MyShop {
  private MyShop readShop;

  public MyShop getReadShop() { return readShop; }

  public void loadShop(String fName) {
    try {
       ObjectInput out = new ObjectInputStream(new FileInputStream(filename));
       this.readShop = (MyShop)out.readObject();
       out.close();

    } catch (Exception e) {
      throw new RuntimeException(e);
    }
}

You'd use this like

MyShop tempShop = new MyShop();
tempShop.loadShop();
MyShop eshop = tempShop.getReadShop();
于 2012-11-20T10:58:58.693 に答える
0

in your MyShop class create your method loadShop static and return your object.

public static MyShop loadShop(String something){
// do some thing

return (MyShop)out.readObject();     
}

And in your code

MyShop eshop = MyShop.loadShop("eshop.txt");
于 2012-11-20T10:59:18.270 に答える
0

loadShopメソッドをメソッドにしますstatic。メソッドがMyShopオブジェクトを返すようにします。MyShopクラスで呼び出します。戻り値を に割り当てますeshop。例:

public class MyShop {
    public static MyShop loadShop(String filename) {
        // ...
        MyShop shop = (MyShop)out.readObject();

        // ...
        return shop;
    }
}

メソッドを呼び出す場所:

MyShop eshop = MyShop.loadShop("eshop.txt");
于 2012-11-20T11:00:04.180 に答える
0

eshopすべての のフィールドを に合わせて編集するだけshopです。

于 2012-11-20T10:57:04.337 に答える