Maison >Java >javaDidacticiel >Pourquoi mon application Android génère-t-elle une erreur « Le chemin du fichier n'est pas valide » lorsque j'essaie de lire un PDF à partir du dossier des ressources ?
Lire un fichier PDF à partir du dossier Assets
Problème :
Dans une application Android, tente de lire un fichier PDF à partir du dossier d'actifs à l'aide du code fourni, ce qui entraîne le message d'erreur "Le chemin du fichier n'est pas valide."
Code :
Le correspondant La section de code est la suivante :
<code class="java">File file = new File("android.resource://com.project.datastructure/assets/abc.pdf"); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(file), "application/pdf"); startActivity(intent);</code>
Solution :
Le problème réside dans le chemin fourni à l'objet File. Le chemin correct doit récupérer le fichier PDF du dossier Assets à l'aide de getAssets().
<code class="java">AssetManager assetManager = getAssets(); InputStream in = assetManager.open("abc.pdf"); OutputStream out = openFileOutput("abc.pdf", Context.MODE_WORLD_READABLE); // Copy PDF file to internal storage copyFile(in, out); // Create Intent and URI for file in internal storage Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse("file://" + getFilesDir() + "/abc.pdf"), "application/pdf"); startActivity(intent);</code>
Notes supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!