1. ホーム
  2. android

[解決済み] java.lang.IllegalArgumentException: パスセパレータが含まれています。

2023-05-09 09:52:51

質問

私のコードでは、ファイル名は:

String NAME_OF_FILE="//sdcard//imageq.png";
FileInputStream fis =this.openFileInput(NAME_OF_FILE); // 2nd line

2行目でエラーになります。

05-11 16:49:06.355: ERROR/AndroidRuntime(4570): 原因:java.lang.IllegalArgumentException: ファイル //sdcard//imageq.png は、パスセパレータを含んでいます。

この形式も試してみました。

String NAME_OF_FILE="/sdcard/imageq.png";

どのように解決するのですか?

このメソッドは、アプリケーションのプライベートデータ領域にあるファイルを開きます。このメソッドを使用して、この領域のサブディレクトリにあるファイルや、まったく別の領域からファイルを開くことはできません。そのため FileInputStream のコンストラクタを直接使用して、ディレクトリを含むパスを渡してください。