Initial
This commit is contained in:
12
.classpath
Normal file
12
.classpath
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="module" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="lib" path="lib/juniversalchardet-2.5.0-SNAPSHOT.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/superx5.0.jar"/>
|
||||||
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
</classpath>
|
||||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/bin/
|
||||||
17
.project
Normal file
17
.project
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>FileConverting</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
||||||
BIN
lib/juniversalchardet-2.5.0-SNAPSHOT.jar
Normal file
BIN
lib/juniversalchardet-2.5.0-SNAPSHOT.jar
Normal file
Binary file not shown.
BIN
lib/superx5.0.jar
Normal file
BIN
lib/superx5.0.jar
Normal file
Binary file not shown.
39
src/de/superx/fileConverting/EncodingDetector.java
Normal file
39
src/de/superx/fileConverting/EncodingDetector.java
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
package de.superx.fileConverting;
|
||||||
|
|
||||||
|
import org.mozilla.universalchardet.UniversalDetector;
|
||||||
|
|
||||||
|
public class EncodingDetector {
|
||||||
|
|
||||||
|
public static void main(String[] args)
|
||||||
|
|
||||||
|
|
||||||
|
throws java.io.IOException {
|
||||||
|
byte[] buf = new byte[4096];
|
||||||
|
String fileName = args[0];
|
||||||
|
java.io.FileInputStream fis = new java.io.FileInputStream(fileName);
|
||||||
|
|
||||||
|
// (1)
|
||||||
|
UniversalDetector detector = new UniversalDetector(null);
|
||||||
|
|
||||||
|
// (2)
|
||||||
|
int nread;
|
||||||
|
while ((nread = fis.read(buf)) > 0 && !detector.isDone()) {
|
||||||
|
detector.handleData(buf, 0, nread);
|
||||||
|
}
|
||||||
|
|
||||||
|
// (3)
|
||||||
|
detector.dataEnd();
|
||||||
|
|
||||||
|
// (4)
|
||||||
|
String encoding = detector.getDetectedCharset();
|
||||||
|
if (encoding != null) {
|
||||||
|
System.out.println("Detected encoding = " + encoding);
|
||||||
|
} else {
|
||||||
|
System.out.println("No encoding detected.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// (5)
|
||||||
|
detector.reset();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
105
src/de/superx/fileConverting/Utf8Converter.java
Normal file
105
src/de/superx/fileConverting/Utf8Converter.java
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
package de.superx.fileConverting;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.OutputStreamWriter;
|
||||||
|
import java.io.Reader;
|
||||||
|
import java.io.StringWriter;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
||||||
|
public class Utf8Converter {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
|
||||||
|
String quellDatei=args[0];
|
||||||
|
String encoding="ISO-8859-1";
|
||||||
|
String text;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
text=getFileContentsWithEncoding(quellDatei,encoding);
|
||||||
|
try {
|
||||||
|
saveFileContentsWithEncoding(quellDatei+"_utf8.csv",text,"UTF-8");
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
System.out.println(text);
|
||||||
|
|
||||||
|
}
|
||||||
|
public static String getFileContentsWithEncoding(String filePath, String encoding) {
|
||||||
|
File f = new File(filePath);
|
||||||
|
if (!f.exists()) {
|
||||||
|
System.out.println("Fehler: Datei " + filePath + " existiert nicht.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
String fileContents = "";
|
||||||
|
if (encoding == null || encoding.trim().equals("")) {
|
||||||
|
encoding = System.getProperty("file.encoding");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
// --- IputStream und OutputStream generieren ---//
|
||||||
|
FileInputStream fis = new FileInputStream(f);
|
||||||
|
// Wenn Quelldatei Unicode, dann speziellen Reader nutzen
|
||||||
|
BufferedReader in;
|
||||||
|
//BufferedReader ist schneller bei großen Dateien
|
||||||
|
in = new BufferedReader(new InputStreamReader(fis, encoding));
|
||||||
|
// --- Output-Stream der temporären Datei erzeugen ---//
|
||||||
|
StringWriter out = new StringWriter();
|
||||||
|
// --- Verarbeiten der Datei ---//
|
||||||
|
String text;
|
||||||
|
text = in.readLine();
|
||||||
|
while (text != null) { // Datei nicht leer
|
||||||
|
out.write(text);
|
||||||
|
out.write(System.getProperty("line.separator"));
|
||||||
|
text = in.readLine();
|
||||||
|
}
|
||||||
|
if (!(out == null)) {
|
||||||
|
fileContents = out.toString();
|
||||||
|
}
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return fileContents;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void saveFileContentsWithEncoding(String filename, String contents, String encoding) throws
|
||||||
|
|
||||||
|
FileNotFoundException,
|
||||||
|
IOException
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
File f = new File(filename);
|
||||||
|
BufferedReader in;
|
||||||
|
BufferedWriter out;
|
||||||
|
|
||||||
|
//Default encoding ist utf-8
|
||||||
|
if (encoding == null) encoding = System.getProperty("file.encoding");
|
||||||
|
// --- Output-Stream der temporären Datei erzeugen ---//
|
||||||
|
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f), encoding));
|
||||||
|
|
||||||
|
out.write(contents);
|
||||||
|
|
||||||
|
out.close();
|
||||||
|
|
||||||
|
|
||||||
|
}//Ende der Methode
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user