Text wird nicht als UTF8 gespeichert

Tis

Mitglied
Moin zusammen,

eine meine teilaufgaben ist es dass ich eine Textdatei in diesen fall (bs.txt) einlese und die Kodierung ändere auf UTF-8. ich hab im forum folgendes gefunden:

Java:
package mein;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

/**
 * @author thomas.darimont
 * 
 */
public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		File file = new File("c:/bs.txt");
		method0(file);
		method1(file);
	}

	private static void method0(File file) throws Exception, IOException,
			UnsupportedEncodingException {
		FileOutputStream fos = new FileOutputStream("domi2.txt");
		FileInputStream fileInputStream = new FileInputStream(file);
		byte[] data = new byte[(int) file.length()];

		fileInputStream.read(data);
		fos.write(data);
                fos.close();
		fileInputStream.close();
		System.out.println(new String(data, "UTF-8"));

	}

	private static void method1(File file) throws Exception {
		ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
		FileInputStream fileInputStream = new FileInputStream(file);
		FileOutputStream fos = new FileOutputStream("domi.txt");
		byte[] buffer = new byte[16384];

		for (int len = fileInputStream.read(buffer); len > 0; len = fileInputStream
				.read(buffer)) {
			byteArrayOutputStream.write(buffer, 0, len);
			fos.write(buffer);
                        fos.close();
		}

		fileInputStream.close();

		System.out.println(new String(byteArrayOutputStream.toByteArray(),
				"UTF-8"));
	}

}

In beiden methoden kommt jedoch kein UTF 8 kodierter text , ich hoffe jemand kann helfen

gruß

denis
 
Zuletzt bearbeitet:
Hallo,

schau dir mal die Codebeispiele an:
Code:
fis = new FileInputStream(x);
			
isr = new InputStreamReader(fis, "ISO-8859-1");

Dateninput = new BufferedReader(isr);

Du brauchst nur "ISO..." durch "UTF-8" ersetzen.

Das gleiche gilt für den OutputStreamWriter.

MfG
hansmueller
 
Zurück