给了个例子,把编码格式为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();
}

}

}

转载于:https://blog.51cto.com/ajiao13/1140080

java文件格式转换相关推荐

  1. java 文件格式转换

    java 系列文章 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 java 系列文章 前言 一.base ...

  2. java 文件格式转换工具

    有时候一个文件格式正确在某些情况下不一定能够正确播放,下面可以借助于java的一个类帮助我们把文件格式转正确 File source = new File(filepath); int index=a ...

  3. Java实现文件格式转换(如amr转MP3)并上传FTP服务器实例

    1.准备JAR包 2.代码 首先确定你要转换的文件类型,如amr转成MP3格式,如果你想转换其他的格式,可以参考JAVE 视音频转码,文中详细解释了 JAVE(Java Audio Video Enc ...

  4. java 图片文件 格式转换_Java的图片文件格式转换和线性缩放

    Java的图片文件格式转换和线性缩放 来源:68design.net 2007年07月13日 08:31 图片文件格式转换最核心的问题就是要解决各种图片格式的编码和解码,推荐用jimi包,可从 htt ...

  5. java图片转换pdf_Java实现图片转换PDF文件的示例代码

    最近因为一些事情,需要将一张简单的图片转换为PDF的文件格式,在网上找了一些工具,但是这些工具不是需要注册账号,就是需要下载软件. 而对于只是转换一张图片的情况下,这些操作显然是非常繁琐的,所以作者就 ...

  6. PX4飞行日志分析与.ulg文件格式转换

    文章目录 一.FlightPlot安装及使用 二..ulg文件格式转换(windows环境) 一.FlightPlot安装及使用 1)下载FlightPlot源码 git clone --recurs ...

  7. 纯java pdf转换成html,java pdf转换html代码

    java pdf转换html代码 [2021-02-03 00:56:42]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...

  8. vim windows linux文件格式转换

    vim windows linux文件格式转换 set ff?     #显示当前文件格式 set ff=unix     #设置成unix格式 set ff=dos #设置成dos格式 posted ...

  9. 【引用】在Eclipse中将java Project转换成Dynamic Web Project

    编辑工程的.project文件: 添加 <nature>org.eclipse.wst.common.project.facet.core.nature</nature> &l ...

最新文章

  1. Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  2. 吐槽一下微信公众号的赞赏号
  3. StringBuffer的用法
  4. 11、HTML <head>标签
  5. Linux 在一个命令行上执行多个命令
  6. centos根分区扩容方法linux公社,Centos5给/根分区扩容
  7. android studio transformclasseswithJarMergingForDebug报错
  8. 上传文件返回数据提示下载
  9. 缓存和数据库一致性问题,看这篇就够了
  10. 【Elasticsearch】eBay上的Elasticsearch性能调优实践
  11. js定时器异步请求时候 上一个请求没有响应时下一个请求已经开始_关于异步的理解...
  12. axi dma 寄存器配置_STM32 ADC多通道转换的DMA传输示例
  13. 阿维·阿斯平纳尔的闹钟——亨利·劳森
  14. Ubuntu下如何使用虚拟机安装WindowsXP?(2)【转】
  15. 使用C# WinForm实现打印小票的功能
  16. html5个人记账网页源代码,蓝色的cms企业记账管理后台模板源码
  17. 【技术类】Landsat 7 ETM+影像条带去除妙招
  18. 穆利堂[推荐]WxCSM客户服务整体解决方案-河南郑州房地产客户服务管理系统软件-穆穆-movno1
  19. Quartus II SDC文件建立流程
  20. 彻底修改浏览器ua——通过修改navigator.platform将电脑PC的ua修改为手机ua

热门文章

  1. 接口测试--apipost如何自定义header中的content-type
  2. java innodb存储引擎_MySQL InnoDB存储引擎的事务隔离级别
  3. oracle 查看dba账户,Oracle DBA常用查询
  4. Python基本操作(五) 标准数据类型(不可变类型)
  5. 实参与形参不兼容怎么解决_上岗证报名照片无法上传非官方解决方案
  6. 一阶系统开环传递函数表达式_自控原理之系统辨识--入门介绍
  7. 六安市事业单位计算机基础知识,最全的事业单位考试计算机基础知识试题[1] 2...
  8. oracle并行查询结果不唯一,Oracle数据库并行查询出错的解决方法
  9. java long类型赋值_Java语言编程第22讲——如何理解“Java是强类型语言”
  10. python随机猜数字游戏_Python小游戏——猜数字教程(random库教程)