1 |
package dk.daoas.adressevedligehold; |
package dk.daoas.adressevedligehold; |
2 |
|
|
|
import java.io.BufferedReader; |
|
3 |
import java.io.IOException; |
import java.io.IOException; |
|
import java.io.InputStream; |
|
|
import java.io.InputStreamReader; |
|
|
import java.nio.charset.Charset; |
|
4 |
|
|
5 |
import org.apache.commons.fileupload.FileItem; |
import org.apache.commons.fileupload.FileItem; |
6 |
|
|
24 |
|
|
25 |
@Override |
@Override |
26 |
public void validate() throws IOException { |
public void validate() throws IOException { |
27 |
try ( |
super.validatNoHeaderLine(22, ','); |
|
InputStream is1 = file.getInputStream(); |
|
|
InputStreamReader isr1 = new InputStreamReader(is1, Charset.forName("ISO-8859-1") ); |
|
|
BufferedReader br1 = new BufferedReader(isr1) |
|
|
) { |
|
|
String line = br1.readLine(); |
|
|
|
|
|
if (line == null) { |
|
|
throw new IOException("Can't read 1st line - is file empty?"); |
|
|
} |
|
|
|
|
|
String[] parts = line.split(","); |
|
|
if (parts.length != 22) { |
|
|
throw new IOException("Not enough fields in CSV file. Found " + parts.length + ", expected 22"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
is = file.getInputStream(); |
|
|
isr = new InputStreamReader(is, Charset.forName("ISO-8859-1") ); |
|
|
br = new BufferedReader(isr); |
|
28 |
} |
} |
29 |
|
|
30 |
//TODO: Skal csv parsning klares med Apache Commons CSV ? |
//TODO: Skal csv parsning klares med Apache Commons CSV ? |
41 |
parts = line.split(","); |
parts = line.split(","); |
42 |
|
|
43 |
if (parts.length != 22) { |
if (parts.length != 22) { |
|
System.out.println( line ); |
|
44 |
throw new IOException("Not enough fields in line " + line); |
throw new IOException("Not enough fields in line " + line); |
45 |
} |
} |
46 |
} |
} |