2017-10-05 15 views

Répondre

0

Vous devriez toujours entourer ce genre d'erreur de code sujette à un bloc try/catch

Scanner regionData = null; 

try { 
    regionData = newScanner(new File("RU.txt")); 
} catch (FileNotFoundException e) { 
    // handle what happens if exception is thrown 
} 

Le fichier que vous avez spécifié besoin d'être dans votre répertoire racine pour le projet.

+0

Mettre le scanner en dehors du bloc try comme ceci vous permettra d'y accéder au-delà de la portée de 'try'; Contrairement à la réponse de @ TeneCursum où le scanner est déclaré à l'intérieur du 'try', il ne sera disponible qu'à l'intérieur de ce bloc try. Une autre chose à considérer est que vous devrez vous rappeler de fermer le scanner lorsque vous avez terminé pour éviter les fuites de mémoire en utilisant 'regionData.close();'. Vous pouvez également utiliser un bloc try avec la ressource, en déclarant et en initialisant le scanner en tant que paramètre du bloc try, qui le fermera automatiquement, mais vous rencontrerez les mêmes problèmes de portée. – ClarksonDev

1

Ce qui se passe ici est que votre IDE (IntelliJ par les regards de celui-ci) vous avertit que le code a lancé une FileNotFoundException. Vous devriez essayer envelopper le code dans un bloc try/catch comme ceci:

try { 
    Scanner regionData = new Scanner(new File("RU.txt")); 
} catch (FileNotFoundException e) { 
    // Handle the error here. e.g., 
    e.printStackTrace(); 
} 

En outre, comme mentionné par d'autres, Windows utilise la barre oblique inverse (« \ ») comme séparateur de fichiers. Alors que les systèmes UNIX utilisent '/'.