Toon posts:

[JAVA] filewriter stop ineens met schrijven naar txt bestand

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goedenmorgen,

Ik ben momenteel bezig met een kleine conversie. Ik haal daarbij informatie uit een DBF filetje en schrijf de data in SQL queries weg in een tekstbestand.
Nu werkt dit prima, alleen stopt de filewriter met schrijven terwijl er nog informatie te schrijven is.

ik druk ook alle gegevens af via System.out.println() en daar krijg ik wel alle gegevens te zien.

Misschien iemand bekend met dit probleem? :?

hier is mijn code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
ResultSet leden = dbConn.ExecQuery("SELECT * FROM LEDEN01");
        
        try
        {
            File insertDb = new File("C:\\insertLeden.txt");
            FileWriter file_writer = new FileWriter(insertDb, true);
            BufferedWriter writer = new BufferedWriter(file_writer);
                        
            while(leden.next())
            {
                lidnummer = leden.getString("veld01");
                voornaam = leden.getString("veld03");
                achternaam = leden.getString("veld04")+" "+leden.getString("veld02");
                adres = leden.getString("veld05")+" "+leden.getString("veld06");
                postcode = leden.getString("veld07");
                woonplaats = leden.getString("veld08");
                telefoon = leden.getString("veld09");
                email = leden.getString("veld11");
                
                System.out.println(lidnummer);
                System.out.println(voornaam);
                System.out.println(achternaam);
                System.out.println(adres);
                System.out.println(postcode);
                System.out.println(woonplaats);
                System.out.println(telefoon);
                System.out.println(email);
                
                if(lidnummer == null)
                {
                    lidnummer = "onbekend";
                }
                else
                {
                    lidnummer = lidnummer.substring(2);
                }
                
                if(achternaam.startsWith("null"))
                {
                    achternaam = achternaam.substring(5);
                }
                
                if(achternaam.equals("van 't Hof"))
                {
                    achternaam = "van t Hof";
                }
                
                if(email == null)
                {
                    email = "geen";
                }
                
                if(woonplaats.startsWith("'"))
                {
                    woonplaats = woonplaats.substring(1);
                }
                
                if(email.startsWith("'"))
                {
                    email = email.substring(1);
                }
                
                beroep = "onbekend";
                
                writer.write("INSERT INTO LID(lidnummer, voornaam, achternaam, adres, postcode, woonplaats, "+
                                "telefoon, email, beroep, wachtwoord) VALUES('"+lidnummer+"', '"+voornaam+"', '"+achternaam+
                                "', '"+adres+"', '"+postcode+"', '"+woonplaats+"', '"+telefoon+"', '"+email+
                                "', '"+beroep+"', '"+paswoorden[i]+"');");
                writer.newLine();
                i++;
            }
        }
        catch(Exception e)
        {
            System.out.println("Fout: "+e);
        }

  • windancer
  • Registratie: Maart 2000
  • Laatst online: 08-05 15:34
Misschien is FileWriter gebufferd, probeer eens af te sluiten door file_writer.flush() aan te roepen.

Verwijderd

Topicstarter
windancer schreef op zondag 06 maart 2005 @ 11:51:
Misschien is FileWriter gebufferd, probeer eens af te sluiten door file_writer.flush() aan te roepen.
Top! dit werkt, maar wat houdt dit dan precies in?

  • Copyman
  • Registratie: Januari 2001
  • Nu online

Copyman

Dode muis

Die buffer komt uiteraard een keer vol te zitten, als je deze dus niet flusht, kan er niets meer bij. :)

Flushen == leeghalen dus.

[ Voor 13% gewijzigd door Copyman op 06-03-2005 12:02 ]

Zeer belangrijke informatie: Inventaris


  • Mammoth
  • Registratie: April 2002
  • Laatst online: 22-09-2019

Mammoth

I am BIG

Dit betekent dat de tekst eerst in een buffer wordt geplaatst, voordat het geschreven wordt.
Als de buffer vol is, of bij bepaalde commando's wordt er een flussh gedaan, de data wordt naar het bestand geschreven.
Aangezien dit niet gebeurt bij de laatste gegevens, schrijft hij die dus niet weg.

edit:
Nu al een dubbelpost?? Wat zijn we snel voor een zondag! :D

[ Voor 13% gewijzigd door Mammoth op 06-03-2005 12:04 ]

There could be only one, too bad it wasn't me


Verwijderd

Topicstarter
Ok dat is vrij helder! thnx!! :)
Pagina: 1