14. juni 2001 - 23:09
Der er
20 kommentarer og 1 løsning
core dump
hvorfor laver denne core dump: int counter = 0; String line; for(;; counter++) { line = reader.readLine(); if(line == null) { System.out.println(\"EOF\"); break; } lines[counter] = line; System.out.println(line); Thread.sleep(300); }
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Prøv en gang til, nogle gange dumper min linux hvis selve compileren laver en fejl.
har prøvet MANGE gange det sker hver gang !!!
Koden ser pæn nok ud, men hvad er lines.
det er et String array hvori jeg gæmmer hver linie
Kan du ikke vise core dumpet?
jeg har lavet en lille tester den laver også en core dump -------------------------------------------------- package cutter; import java.io.*; public class Cut { private char delimiter = \':\'; private int field = 0; private String file = null; private String[] lines; private BufferedReader reader = null; public Cut(char delimiter, int field, String file) { this.delimiter = delimiter; this.field = field; this.file = file; } public void cutter(){ try { reader = new BufferedReader(new FileReader(file)); } catch(FileNotFoundException e) { System.out.println(\"File Not Found\"); } try { int counter = 0; String line; for(;; counter++) { line = reader.readLine(); if(line == null) { System.out.println(\"EOF\"); break; } lines[counter] = line; System.out.println(line); Thread.sleep(300); } } catch(Exception e) { } } } -------------------------------------------------- package cutter; public class CutMain { public static void main(String[] args) { Cut cut = new Cut(\':\',2,\"passwd\"); cut.cutter(); } }
hvordan kigger jeg i et core dump ?????
Kan man skrive BufferedReader = null;? Prøv evt. uden
14. juni 2001 - 23:28
#10
det har virket i andre klasser jeg har lavet så det skulle jeg mene
14. juni 2001 - 23:28
#11
selvfølgelig kan man skrive BufferedReader = null;
14. juni 2001 - 23:33
#12
Bare nysgerrig, har aldrig selv brugt eller set det. Det er unødvendigt.
14. juni 2001 - 23:35
#13
du får ikke initialiseret lines[]
14. juni 2001 - 23:35
#14
jeg har prøvet først at initialisere den i: reader = new BufferedReader(new FileReader(file)); som: BufferedReader reader = new BufferedReader(new FileReader(file)); så siger compileren at den ikke kender variablen reader i linien: line = reader.readLine();
14. juni 2001 - 23:39
#15
den er go !!!!!! er der ikke en eller anden ting jeg kan bruge i stedet for array er det Vector ??? jag kender ikke størelsen på filen den læser fra og skal man ikke initialisere et array med en størrelse ??
14. juni 2001 - 23:41
#16
java.util.ArrayList
14. juni 2001 - 23:44
#17
jeg kan lave en: lines.add(line); ????
14. juni 2001 - 23:46
#18
jep, så kommer den ind til sidst. Du kan også bruge lines.add(counter, line)
14. juni 2001 - 23:52
#19
Det er fordi du så deklarerer reader inde i try blocken - og når du så forlader blocken er reader udenfor scope. I ovenstående eksempel ser det ikke ud til at være nødvendigt, men der er eksempler hvor det er. Følgende vil fx ikke compile pga. manglende initialisering af reader. BufferedReader reader; try { reader = new BufferedReader(new FileReader(file)); } catch(FileNotFoundException e) { System.out.println(\"File Not Found\"); } reader.readLine(); med BufferedReader reader = null som det første ville det compile.
14. juni 2001 - 23:56
#20
jeg var ikke klar over at der var scope i try, man bliver hurtigt klogere !!
15. juni 2001 - 00:03
#21
Så var det altså rigtigt med initialiseringen af lines. Jeg skulle have gjort det til et svar ;-)
Kurser inden for grundlæggende programmering