2017-02-08 3 views
0

J'essaye de lire un fichier xml à partir d'un système de fichiers en utilisant samba. Mon application se bloque avec la seule erreur étant:SmbFileInputStream Lancer exception fatale: main

FATAL EXCEPTION: main Process: com.example.imac.chs_pharmacy, PID: 2615 java.lang.ExceptionInInitializerError

Il tombe en panne sur la ligne:

SmbFileInputStream fXmlFile = new SmbFileInputStream(sFile); 

J'ai plutôt utilisé cette ligne, avec le même résultat:

InputStream fXmlFile = sFile.getInputStream(); 

Voici l'extrait de code que j'utilise:

try { 
    String user = "user"; 
    String pass ="pass"; 

    String url = "smb://ip/public/chs/" + message + ".xml"; 
    Log.d(TAG, url); 

    NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, user, pass); 

    SmbFile sFile = new SmbFile(url, auth); 

    SmbFileInputStream fXmlFile = new SmbFileInputStream(sFile); 

    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
    Document doc = dBuilder.parse(fXmlFile); 

    doc.getDocumentElement().normalize(); 
    } 

Je ne sais pas pourquoi cela ne fonctionne pas, toute aide serait appréciée

Répondre

1

Le java.lang.ExceptionInInitializerError est utilisé comme emballage pour indiquer qu'une exception se pose dans le bloc initialiseur statique ou l'évaluation de la valeur d'une variable statique.

Ainsi, nous devons nous assurer que l'exception originale est corrigée, afin que la JVM puisse charger la classe avec succès.