| Visa inlägg Skriv inlägg Visa senaste | Avancerad sökning |
| Logiskt fel | 2006-03-19 19:22:31 |
| Hejsan, jag håller på att skapa en simpel textbaserad databas, men den fungerar inget vidare alls, något jag inte tänkt på är knep. Antagligen är det bara false ist. för true någonstans eller liknande, men jag hittar inte felet själv... har felsökt en del. Det är metoden removeLine med tillhörande metoder som tillsammans helt enkelt inte klarar av att ta bort en radjäkel ur en textfil. Tacksam för hjälp. Om någon vet ett smidigare sätt att ta bort en rad ur en textfil (ett sätt där man slipper skriva om hela databasen) är det mycket välkommet! Men observera att det är textfil det handlar om, har inte tid att göra om till XML eller liknande. Jag klistrar bara in dom viktiga metoderna, gör en liten klass runt omkring också. import java.io.*; import java.util.*; import java.util.StringTokenizer; public class Database{ public boolean removeLine(int line) throws IOException{ // Skriv om hela databasen utan att skriva om // den rad som skall tas bort. Detta görs ge- // nom att kopiera databasen till en tillfäl- // lig fil och sedan kopiera tillbaka databasen. // På så sätt tas den avsiktligt missade raden bort. boolean bolReturn = true; String tmpLine = ""; String file1 = "Database.txt"; String file2 = "tmpFsdb.txt"; clearFile(file2); // SKRIV TILL file2 UTESLUTANDES RAD i try{ FileReader fr = new FileReader (file1); BufferedReader br = new BufferedReader(fr); for (int i=1;tmpLine!=null;i++){ if (i!=line){ tmpLine = br.readLine(); addLine(tmpLine, file2); }else{ System.out.print("skipping line "+i); } } br.close(); }catch (FileNotFoundException fnfe){ System.out.println("File not found"); bolReturn = false; }catch (IOException ioe){ System.out.println("Error in writing to file"); bolReturn = false; } clearFile(file1); // KOPIERA TILLBAKA DATABASEN TILL file1 FRÅN file2 try{ FileReader fr = new FileReader (file2); BufferedReader br = new BufferedReader(fr); for (int i=1;tmpLine!=null;i++){ tmpLine = br.readLine(); addLine(tmpLine, file1); } br.close(); }catch (FileNotFoundException fnfe){ System.out.println("File not found"); bolReturn = false; }catch (IOException ioe){ System.out.println("Error in writing to file"); bolReturn = false; } clearFile(file2); return bolReturn; } public void addLine(String line, String file) throws IOException{ FileWriter fw = new FileWriter(file, true); BufferedWriter bw = new BufferedWriter(fw); PrintWriter outFile = new PrintWriter(bw, true); outFile.println(line); } public void clearFile(String file) throws IOException{ FileWriter fw = new FileWriter(file, false); BufferedWriter bw = new BufferedWriter(fw); PrintWriter outFile = new PrintWriter(bw, true); outFile.print(""); outFile.close(); } } |
|
| azoapes, Delsbo | |
| Svara | |
| Lyssnare och Trådar | 2005-08-27 08:46:54 |
| har en knapp kopplad till en lyssnare. när jag trycker på knappen ska en annan tråd startas som skriver ut en text varje sekund i en TextArea. Problemet: när trycker på knappen kommer all text på en gång i TextArea och INTE varje sekund som den ska. VARFÖR? Det verkar som att det har med Lyssnaren att göra. När jag tar bort den skrivs texten ut varje sekund. Är det nån konflikt mellan event-tråden och den andra tråden som startas? Tack frö svar!!! |
|
| Alex, Stockholm | |
| Svara | |
| Har problem med att skriva programmet. | 2005-04-25 13:40:45 |
| Uppgift: Skapa nedastående program. Ett företag behöver statistik över anställda och deras medellön. Gör ett menyprogram med följande valmöjligheter: 1. Presentera statistik 2. Mata in nya uppgifter 3. Avsluta Vid val 1 ska antalet anställda och deras medellön presenteras. Vid val 2 ska möjlighet ges till inmatning av nya löneuppgifter. om det finns tidigare inmatade uppgifter, får dessa inte raderas. denna inmatning ska fortgå tills användaren matar in en nolla. Då alternative 3 väljs avslutas programemet men vid övriga val respektive felmatning presenteras menyn igen. Skapa ett fält som säkert överstiger antalet anställda. |
|
| Tuncay, Eksjö | |
| Svara | |
| "Läsa av" färger med Java | 2005-01-19 23:37:14 |
| Vet någon om det finns en funktion i java som kan "läsa av" vilken färg som finns på ett speciellt ställle på skärmen? Tacksam för svar. /Martin |
|
| Martin, Lund | |
| Svara | |
| Targeting frame problem | 2004-11-10 10:36:46 |
| HEj Jag har en java meny (frame till vänster) med en knapp som ska bli en länk och gå till Dagens nyheter. Länken fungerar fint, men den öppnas i samma frame. Jag vill att den skall öppnas i den högra framen. Koden ser ut så här. vad ska jag göra? |
|
| Micke, Haninge | |
| Svara | |