Fejl ved init af Scanner med en fil som parameter

Tags:    java java.util.scanner filer

Hej alle! Får ette output når jeg kører programmet.

Fold kodeboks ind/udKode 


Kan ikke se hvorfor jeg får fejl, for så vidt jeg har forstået så laver den bare en ny fil, hvis den ikke kan finde den gamle fil, ved denne her linje:

Fold kodeboks ind/udJava kode 


Sådan her set mit projekt ud i Eclipse: http://s1291.beta.photobucket.com/user/Rohde_Hoved/media/WhateverPing.png.html?sort=3&o=0

Main klasse
Fold kodeboks ind/udJava kode 




2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Jeg kan se at den fejler allerede i linje 16 siden der udskrives "ERROR". Du "suppressor" den reelle exception så det er svært at se hvad der går galt.

Jeg tror ikke at 'new File' i sig selv laver en ny fil, men noget der bruger File objektet gør måske. File i sig selv er en meget "fancy sti". Det er først når du kalder nogle metoder på den filsystemet checkes.

Her er nogle mulige teorier for hvad der måske går galt:

- Stien er ikke gyldigt. Nu ved jeg ikke hvad OS du bruger, men "/Test.txt" er f.eks. ikke en gyldig sti på windows.

- På linux er den gyldig men referer til rod-mappen i styresystemet som der måske ikke er rettigheder til.

- Scanner får en null File-objekt, eventuelt på grund af en af ovenstående årsager.

- Filen eksisterer ikke fysisk, og Scanner bliver brugt til at læse så den laver ingen fil, men prøver at åbne en ikke-eksisterende fil.

Her er nogle ting du kan prøve:

-Prøv og flyt Test.txt ud i Test mappen (rod mappen for projektet). Det er typisk der eclipse kigger.

- Prøv og ændre stien til "./Test.txt" for linux, eller "Test.txt" for windows, i sammenhæng med ovenstående.

- Prøv at fjerne din try-catch i openFile, eller alternativ gensmid exception: throw e; så kan du se den reelle fejl der opstår.



Indlæg senest redigeret d. 12.12.2012 19:32 af Bruger #14645
Mange tak! Fjernede slash'et i stien og smed filen ud i testmappen. Nu virker det, mange tak!



t