Hey allemaal, ik wil graag een groot (naja, wat is groot) textbestand (input.txt) in stukjes hakken, als het prog een bepaalde string tegenkomt (bijvoorbeeld "Einde sectie"). 
Deze stukjes moet hij dan apart opslaan, onder de namen "output1.txt", "output2.txt", etc..
Nu bedacht ik zelf het volgende:
Maar hij werkt niet:
Zou mooi zijn
Deze stukjes moet hij dan apart opslaan, onder de namen "output1.txt", "output2.txt", etc..
Nu bedacht ik zelf het volgende:
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
| // java.io is nodig voor file lezen, java.net is nodig voor URL methodes.
import java.io.*;
public class splitfiles
{ // wat globale variabelen om het makkelijk te maken.
String afbreekwoord = "EINDE";
String filename = "input.txt";
int bestandnummer = 0;
// Constructor van de class. Wordt eerst file ingelezen, hiervan moeten dan kleinere bestandjes worden gemaakt
private splitfiles()
{ String value = readFromFile();
}
private String readFromFile()
{ // initialisatie van wat variabelen
String regel, output = "";
BufferedReader invoer;
try
{ // File inlezen en inhoud per regel in 'output' zetten.
invoer = new BufferedReader(new FileReader(filename));
regel = invoer.readLine();
while(regel != null)
{ while (regel != (afbreekwoord))
{
output += regel;
regel = invoer.readLine();
}
maakBestandje();
}
invoer.close();
}
catch(Exception e)
{ die("Onbekende fout tijdens lezen bestand..");
}
return output;
}
public void maakBestandje()
{ bestandnummer ++;
try
{ BufferedWriter bufferedwriter = new BufferedWriter(new FileWriter());
String line;
while ((line = bufferedreader.readLine()) != null)
{ bufferedwriter.write(line);
bufferedwriter.newLine();
}
}
catch (IOException e)
{ die("Er ging even wat mis...");
}
}
// Foutmeldingen op het scherm
private void die(String s)
{ System.out.println("Error: " + s);
System.exit(0);
}
// De methode die wordt aangeroepen als je 'm van commandprompt start.
public static void main(String params[])
{ System.out.println("Split bestandjes in stukjes...");
splitfiles thisObj = new splitfiles();
}
} |
Maar hij werkt niet:
Heeft iemand een id van wat ik fout doe? En wat ik moet doen, om ervoor te zorgen dat mijn prog doet wat hij MOET doen?C:\gpssend\splitfiles.java:44: No constructor matching FileWriter() found in class java.io.FileWriter.
{BufferedWriter bufferedwriter = new BufferedWriter(new FileWriter());
^
C:\gpssend\splitfiles.java:46: Undefined variable or class name: bufferedreader
while ((line = bufferedreader.readLine()) != null)
^
2 errors
Zou mooi zijn