質問

質問:あなたは、プログラム資産フォルダ内のディレクトリと通常ファイルを区別するにはどうすればよいです。

資産フォルダにアクセスファイルにAssetManagerを使用する場合は、

は、ファイルが実際にファイルまたはディレクトリであるかどうかを判断することは不可能と思われます。あなたはlistメソッドからファイルのリストを取得し、その後openメソッドを使用してファイルを開きます。私は、おそらくアセットファイルディスクリプタを取得するためにopenFdメソッドを使用して(そしてその後、通常のファイルディスクリプタを要求することは)私にいくつかの情報を提供するだろうと思いました。しかし、(それはファイルディスクリプタを持っているディレクトリのために何を意味しますので、理にかなって...?)のIOException内のディレクトリ結果のファイルディスクリプタを要求します。

現在、私は、ファイルが実際にディレクトリであるかどうかを判断するために、そのIOExceptionが(資産フォルダにディレクトリを開くことattemptngから生じる)に頼っています。 (通常のファイルを開くと、うまく動作します)。これは悪いアイデアのように思えます。ファイルとディレクトリを区別するために、任意の他の提案?

役に立ちましたか?

解決

私はあなたのポストのコメントに同意します。しかし、あなたの質問に答えるために、Fileオブジェクトが資産ディレクトリで指摘します File root = new File("path/to/directory");

次に、あなたがこのようなそのすべてのサブファイルおよびディレクトリを抽出することができます File[] files = root.listFiles();

あなたがリストを持っていたら、あなたはFile.isDirectoryを(使用して何が何であるかを判断することができます)。

最後のピリオド以下の文字のをつかむためにString.subStringを()を使用して、簡単なようで、ファイルの種類を決定するためとして、。

このことができます願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top