2013-08-01 6 views
-2

Je développe une application Android et je veux lire un fichier xsl. J'ai le code suivantFichier non trouvé exception Android java

File rootPath=Environment.getExternalStorageDirectory(); 
    try { 
    File randomContactsFile = new File(rootPath.getPath()+"/assets/LoginTest.xlsx"); 
    System.out.println(randomContactsFile.exists()); 
    }catch(Exception e){ 
    } 

randomContactsFile.exists() renvoie false et je reçois exception fichier non trouvé.

Aidez-nous s'il vous plaît.

Merci

+0

Avez-vous vérifié si le fichier est présent sur la carte SD dans le dossier des ressources? –

+2

* randomContactsFile.exists() retourne false et obtient l'exception fichier non trouvé. * C'est évident n'est ce pas! – NINCOMPOOP

+0

cela signifie que le fichier n'est pas présent dans le chemin spécifié – lory105

Répondre

3

mai Cette aide:

Vous ne serez pas en mesure d'accéder assets/ lors de l'exécution en utilisant File.
Vous accédez à assets/ à l'exécution en utilisant AssetManager, que vous pouvez obtenir via getResources().getAssets().

Comme:

AssetManager assetManager = getResources().getAssets(); 

Et utiliser assetManager.open(your file name);

Edit:

InputStream is = //Open file, and get inputstream 
Workbook workBook = WorkbookFactory.create(is); 
int totalSheets = workBook.getNumberOfSheets(); 
for (int i = 0; i <= totalSheets - 1; i++) { 
    Sheet sheet = workBook.getSheetAt(i); 
    // Do something with the sheet 
} 
+0

Merci, mais mon éclipse ne reconnaît pas la méthode getAssets(). avons-nous besoin d'utiliser le contexte? En fait, je veux ouvrir un fichier xls avec FileInputStream – itin

+0

@itin: oui mon pote utilise le contexte .. si votre classe étend l'activité, il ne sera pas nécessaire sinon vous en aurez besoin ... –

+0

mais en fait je ne peux pas étendre la classe d'activité comme J'ai déjà étendu ActivityInstrumentationTestCase2. Je veux lire le fichier xls en utilisant poi qui a besoin de FileInputStream. – itin

0

Résolu:

si vous obtenez cette exception même Lorsque vous êtes sûr d'avoir inclus tous les jars, créez un dossier libs dans le répertoire racine du projet et copiez tous les jars dans le dossier libs. l'ajout de ces jars dans le chemin de construction java (sélectionnez tous les jars et cliquez avec le bouton droit ajouter des jars.)

Questions connexes