1

解析するためにxmlファイルを開こうとしていますが、ファイルを開こうとすると停止します。私のコードは次のとおりです。

        try {
            return new FileInputStream(location);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }   

ここで、locationは関数に渡される文字列です。コードを実行すると、次のようになります。

java.io.FileNotFoundException:/C:/Users/Seth/AndroidWorkspace/UCoupon/res/xml/information.xml(そのようなファイルまたはディレクトリはありません)

私は完全なファイルパスを指定しましたが、スペルを間違えたことはありません。私は何が間違っているのですか?

4

3 に答える 3

2

デバイスまたはエミュレータからPC上のファイルを読み取ることはできません。

データストレージの概要についてはこちらを、リソースへのアクセスについてはこちらをご覧ください(アクセスしようとしているので、おそらくこれに興味がありますres/xml/

于 2011-02-01T22:47:19.280 に答える
1

PCの実際のパスを使用してファイルをロードしようとしています。エミュレータはファイルシステムについて何も知りません。

xmlをプロジェクトフォルダーに配置res/xml/すると、標準のリソースルックアップ方法を使用してそれを解析できます。

XmlResourceParser xpp = res.getXml(R.xml.myxml); ここで、myxmlは、拡張子を除いたxmlファイルの名前です。

于 2011-02-01T22:48:46.330 に答える
0

ホストシステム(この場合はWindowsのようです)からファイルにアクセスすることはできません。ファイルをデバイス/エミュレーターのSDカードにコピーし、そこから読み取ります。また、WRITE_EXTERNAL_STORAGE権限を使用することを忘れないでください。

于 2011-02-01T22:47:10.597 に答える