java文件格式转换
2013-02-25 20:02
127 查看
给了个例子,把编码格式为GB2312的文件转换成utf-8格式的文件
package com.hikvision.preplan;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
public class FileEncodeTransfer {
private static String sourceEncoding = "GB2312";
private static String targetEncoding = "UTF-8";
public static void changeEncoding(File sourceFile, File targetFile)
throws UnsupportedEncodingException, FileNotFoundException,
IOException {
FileInputStream fin = null;
FileOutputStream fout = null;
FileChannel fcin = null;
FileChannel fcout = null;
if (sourceEncoding == null) {
FileEncodeTransfer.sourceEncoding = System.getProperty("file.encoding");
}
try {
fin = new FileInputStream(sourceFile);
fout = new FileOutputStream(targetFile);
fcin = fin.getChannel();
fcout = fout.getChannel();
ByteBuffer buffer = ByteBuffer.allocateDirect(1024);
while (true) {
buffer.clear();
int r = fcin.read(buffer);
if (r == -1) {
break;
}
buffer.flip();
fcout.write(ByteBuffer.wrap(Charset.forName(sourceEncoding)
.decode(buffer).toString().getBytes(targetEncoding)));
}
} finally {
if (fin != null) {
fin.close();
fin = null;
}
if (fcin != null) {
fcin.close();
fcin = null;
}
if (fout != null) {
fout.close();
fout = null;
}
if (fcout != null) {
fcout.close();
fcout = null;
}
}
}
public static void changeEncoding(String sourceFile, String targetFile) throws UnsupportedEncodingException, FileNotFoundException, IOException{
File fl1 = new File(sourceFile);
File fo1 = new File(targetFile);
changeEncoding(fl1, fo1);
}
public static void changeEncoding(String sourceFile, String targetFile,
String sourceEncoding, String targetEncoding) throws UnsupportedEncodingException, FileNotFoundException, IOException {
FileEncodeTransfer.sourceEncoding = sourceEncoding;
FileEncodeTransfer.targetEncoding = targetEncoding;
changeEncoding(sourceFile, targetFile);
}
public static void main(String[] args){
try {
changeEncoding("D:/bb.html","D:/bbu.html");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.hikvision.preplan;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
public class FileEncodeTransfer {
private static String sourceEncoding = "GB2312";
private static String targetEncoding = "UTF-8";
public static void changeEncoding(File sourceFile, File targetFile)
throws UnsupportedEncodingException, FileNotFoundException,
IOException {
FileInputStream fin = null;
FileOutputStream fout = null;
FileChannel fcin = null;
FileChannel fcout = null;
if (sourceEncoding == null) {
FileEncodeTransfer.sourceEncoding = System.getProperty("file.encoding");
}
try {
fin = new FileInputStream(sourceFile);
fout = new FileOutputStream(targetFile);
fcin = fin.getChannel();
fcout = fout.getChannel();
ByteBuffer buffer = ByteBuffer.allocateDirect(1024);
while (true) {
buffer.clear();
int r = fcin.read(buffer);
if (r == -1) {
break;
}
buffer.flip();
fcout.write(ByteBuffer.wrap(Charset.forName(sourceEncoding)
.decode(buffer).toString().getBytes(targetEncoding)));
}
} finally {
if (fin != null) {
fin.close();
fin = null;
}
if (fcin != null) {
fcin.close();
fcin = null;
}
if (fout != null) {
fout.close();
fout = null;
}
if (fcout != null) {
fcout.close();
fcout = null;
}
}
}
public static void changeEncoding(String sourceFile, String targetFile) throws UnsupportedEncodingException, FileNotFoundException, IOException{
File fl1 = new File(sourceFile);
File fo1 = new File(targetFile);
changeEncoding(fl1, fo1);
}
public static void changeEncoding(String sourceFile, String targetFile,
String sourceEncoding, String targetEncoding) throws UnsupportedEncodingException, FileNotFoundException, IOException {
FileEncodeTransfer.sourceEncoding = sourceEncoding;
FileEncodeTransfer.targetEncoding = targetEncoding;
changeEncoding(sourceFile, targetFile);
}
public static void main(String[] args){
try {
changeEncoding("D:/bb.html","D:/bbu.html");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
相关文章推荐
- java 文件格式转换工具
- java 图片文件格式转换(多页tif转jpg 、jpg转tif)
- Java 二进制格式文件转换为doc文件并保存在指定路径下
- 用java程序调用ffmpeg执行视频文件格式转换flv
- 基于java的图片文件格式转换和线性缩放
- 基于java的图片文件格式转换和线性缩放
- 识别常见编码格式文件并转换成UTF-8编码的java实现
- 用java程序调用ffmpeg执行视频文件格式转换flv
- 基于java的图片文件格式转换和线性缩放-Java基础-Java-编程开发
- java 调用OpenOffice将word格式文件转换为pdf格式
- JAVA编写文件格式转换UTF-8
- 用java程序调用ffmpeg执行视频文件格式转换flv
- [视频处理]用java程序调用ffmpeg执行视频文件格式转换flv
- Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲doc docx等文件格式利用jcom转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。
- Source Insight 将UTF-8格式的JAVA文件转换为GB2312格式的JAVA文件
- 基于java的图片文件格式转换和线性缩放
- 用java程序调用ffmpeg执行视频文件格式转换flv
- 基于java的图片文件格式转换和线性缩放
- Java使用libreoffice实现office文件转换成pdf格式,支持windows和linux
- 识别常见编码格式文件并转换成UTF-8编码 的java实现 源码