新浦京网投站网止,澳门新浦京26999com

    欢迎访问澳门新浦京26999com~

  1. 加入收藏
  2. 设为主页
  3. 学校简介
澳门新浦京26999com

澳门新浦京26999com

  • 北大青鸟徐东校区
  • 北大青鸟光谷学院
  • 北大青鸟宏鹏IT学院
  • 荆州青鸟之家
  • 襄阳青鸟之家

15902769092

三分钟了解北大青鸟

×
  • 初中生学什么
  • 高中生学什么
  • 大学生学什么
  • 打工返乡人出路
  • 退伍军人出路
  • 女生学什么好
  • 男生学什么好

JAVA批量转换文件编码

责任编辑:澳门新浦京26999com来源:澳门新浦京26999comJava技术教程发布时间:2013-01-24 09:58
导读:可用来批量转换代码的编码.并保持文件段落及缩进,如果是目录则递归调用此方法.继续检索,以默认编码读取文件内容.并以字条串返回。

package file;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
/**
* 可用来批量转换代码的编码.并保持文件段落及缩进
* @author Justin
*
*/
public class FileList {
//获取某个目录下面的所有文件
public File[] getFileDir(String dir) {
File dataDir = new File(dir);
File[] dataFiles = dataDir.listFiles();
return dataFiles;
}

public boolean getFileList(String dir) {
boolean isSucc = false;
File dataDir = new File(dir);
File[] dataFiles = dataDir.listFiles();
try {
for (int i = 0; i < dataFiles.length; i++) {
//如果是目录则递归调用此方法.继续检索
if (dataFiles[i].isDirectory()) {
getFileList(dataFiles[i].getCanonicalPath());
} else {
//文件过滤,如无需此项注释此处即可
if (dataFiles[i].isFile()
&& (dataFiles[i].getName().endsWith(".jsp")
|| dataFiles[i].getName().endsWith(".html") || dataFiles[i]
.getName().endsWith(".htm"))
|| dataFiles[i].getName().endsWith(".js")
|| dataFiles[i].getName().endsWith(".java")) {

writeFile(dataFiles[i].getAbsolutePath(),
dataFiles[i].getAbsolutePath()
.substring(
2,
dataFiles[i].getAbsolutePath()
.length()));
}
}

}
} catch (IOException e) {
e.printStackTrace();
}
return isSucc;
}
//以默认编码读取文件内容.并以字条串返回
private String readFile(String templet) {
String templetContent = "";

try {
FileInputStream fileinputstream = new FileInputStream(templet);
int length = fileinputstream.available();
byte bytes[] = new byte[length];
fileinputstream.read(bytes);
fileinputstream.close();
templetContent = new String(bytes);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return templetContent;
}
// 以UTF-8读取文件内容.并以字条串返回
private String readFileUTF_8(String templet) {
String templetContent = "";

try {
FileInputStream fileinputstream = new FileInputStream(templet);
int length = fileinputstream.available();
byte bytes[] = new byte[length];
fileinputstream.read(bytes);
fileinputstream.close();
templetContent = new String(bytes, "UTF-8");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return templetContent;
}
//在新文件夹建立相同的目录结构
private void makeDir(String path) {
File fileStr = new File(path);
File file = new File(fileStr.getParent());

if (!file.exists()) {
file.mkdirs();
}
}

public boolean writeFile(String realPath, String fileName) {
boolean isSucc = false;
String templet = realPath;
String newFile = "D:/NewFiles/"
+ fileName.substring(1, fileName.length());
makeDir(newFile);
String templateContent = "";

//读取文件内容.如需以UTF-8读取.换成readFileUTF_8(filePath)即可
templateContent = readFile(templet);

//如果是网页或其它注明了编码的文件.用此方法替换
templateContent = templateContent.replaceAll("gb2312", "UTF-8");
templateContent = templateContent.replaceAll("gbk", "UTF-8");

/*
templateContent = templateContent.replaceAll("UTF-8", "GBK");
templateContent = templateContent.replaceAll("utf-8", "GBK");*/
//templateContent = templateContent.replaceAll("GB2312", "UTF-8");
//templateContent = templateContent.replaceAll("gbk", "UTF-8");
//System.out.println("输出:" + templateContent);

isSucc = writeNewFile(newFile, templateContent);
System.out.println("输出:" + newFile);

return isSucc;

}
/**
* 以UTF-8形式写新文件
* @param newFile
* @param templetContent
* @return
*/
private boolean writeNewFile(String newFile, String templetContent) {
boolean isSucc = false;
try {
FileOutputStream fout = new FileOutputStream(newFile);
OutputStreamWriter out = new OutputStreamWriter(
new BufferedOutputStream(fout), "UTF-8");
out.write(templetContent);
out.close();
fout.close();
isSucc = true;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return isSucc;
}

/**
* @param args
*/
public static void main(String[] args) {

FileList fl = new FileList();
fl.getFileList("D:\\speciality");

}

}


本文标题:JAVA批量转换文件编码,责任编辑:澳门新浦京26999com,来源:武汉宏鹏,于2013年01月24日09时58分发布于澳门新浦京26999com。武汉澳门新浦京26999com专注计算机电脑IT编程培训。学校专注java培训,ui设计培训,web前端培训,python培训,大数据培训等,北大青鸟学校累计为企业培养和输送IT专业人才85万。

专业老师指导

专业老师指导

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业。

培训咨询客服

培训咨询客服

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑。

本文地址:
文章标题:

热门课程

More+
  • Python+大数据学习

    Python+大数据学习

  • Java_9天快速掌握Java基础

    Java_9天快速掌握Java基础

  • PHP+H5_做全栈工程师

    PHP+H5_做全栈工程师

  • Web前端工程师_百日0基础入门

    Web前端工程师_百日0基础入门

  • 网络工程师BNENIT6.0

    网络工程师BNENIT6.0

  • UI课程_给你+1机会

    UI课程_给你+1机会

  • 学动漫_变二次元大神!

    学动漫_变二次元大神!

  • 大数据_9天快速入门基础

    大数据_9天快速入门基础

  • 启蒙星3.0_给你不一样的”薪“开始

    启蒙星3.0_给你不一样的”薪“开始

  • 学数字艺术,用兴趣描绘“钱途”

    学数字艺术,用兴趣描绘“钱途”

点我咨询
×
在线咨询更多问题

如您有任何疑问
在线咨询随时为您解答或拨打咨询热线:15902769092

×
  • 姓 名*
  • 手 机*
  • QQ号/微信号
  • 所报学科 *
  • 其他备注
  • 温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一报名服务。