import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.FilterReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ConUniToUTF {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("aaaaa");
// 读取unicode编码
try {
// String path = "D:\\English\\BBC\\";// 读取该目录下的文件
// String path = "D:\\English\\BBC\\140317BBC\\140317_03";// 读取该目录下的文件
String path = "J:\\English\\BBC\\140317BBC\\02";// 读取该目录下的文件
String endName = "";
List<String> pathList = getFile(path);//获得该目录下的文件路径
String filepath = "";
for (int i = 0; i < pathList.size(); i++) {
filepath = pathList.get(i);
// String str = "J:\\English\\EnglishHtml\\www.52en.com_0004_jfk_address.jpg.png.mp3";
endName = filepath.substring(filepath.lastIndexOf(".")+1);
if("txt".equalsIgnoreCase(endName) || "text".equalsIgnoreCase(endName)
|| "lrc".equalsIgnoreCase(endName)
){
System.out.println(">>>>>>>>>>" + filepath);
printUTFTxt(filepath);//打印
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("bbbbbbbbb");
}
public static void printUTFTxt(String filePath){
try {
// String filePath = "D:\\English\\BBC\\20120415BBC.lrc";
String content = readTxt(filePath);
// System.out.println(content);
// File writename = new File("D:\\English\\BBC\\20120415BBC.lrc");
File writename = new File(filePath);
// 相对路径,如果没有则要建立一个新的output。txt文件
writename.createNewFile(); // 创建新文件
BufferedWriter out = new BufferedWriter(new
FileWriter(writename));
out.write(content); // \r\n即为换行
out.flush(); // 把缓存区内容压入文件
out.close(); // 最后记得关闭文件
}catch (Exception e) {
// TODO: handle exception
}
}
/**
* 获得文件夹下的文件路径
* @param path
* @return
*/
private static List<String> getFile(String path) {
List<String> l = new ArrayList<String>();
// get file list where the path has
File file = new File(path);
// get the folder list
File[] array = file.listFiles();
for (int i = 0; i < array.length; i++) {
if (array[i].isFile()) {
// only take file name
// System.out.println("^^^^^" + array[i].getName());
// take file path and name
// System.out.println("#####" + array[i]);
// take file path and name
System.out.println("*****" + array[i].getPath());
// if(array[i].){
l.add(array[i].getPath());
// }
}/*
* else if(array[i].isDirectory()){ //如果是目录
* getFile(array[i].getPath()); //继续查看 }
*/
}
return l;
}
/**
* 解析普通文本文件 流式文件 如txt http://lfl2011.iteye.com/blog/1930107 此人博客
*
* @param path
* @return
*/
@SuppressWarnings("unused")
public static String readTxt(String path) {
StringBuilder content = new StringBuilder("");
try {
String code = resolveCode(path);
File file = new File(path);
InputStream is = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(is, code);
BufferedReader br = new BufferedReader(isr);
// char[] buf = new char[1024];
// int i = br.read(buf);
// String s= new String(buf);
// System.out.println(s);
String str = "";
while (null != (str = br.readLine())) {
content.append(str + "\r\n");
}
br.close();
} catch (Exception e) {
e.printStackTrace();
System.err.println("读取文件:" + path + "失败!");
}
return content.toString();
}
/**
* http://lfl2011.iteye.com/blog/1930107 此人博客
*
* @param path
* @return
* @throws Exception
*/
public static String resolveCode(String path) throws Exception {
// String filePath = "D:/article.txt"; //[-76, -85, -71] ANSI
// String filePath = "D:/article111.txt"; //[-2, -1, 79] unicode big
// endian
// String filePath = "D:/article222.txt"; //[-1, -2, 32] unicode
// String filePath = "D:/article333.txt"; //[-17, -69, -65] UTF-8
InputStream inputStream = new FileInputStream(path);
byte[] head = new byte[3];
inputStream.read(head);
String code = "gb2312"; // 或GBK
if (head[0] == -1 && head[1] == -2)
code = "UTF-16";
else if (head[0] == -2 && head[1] == -1)
code = "Unicode";
else if (head[0] == -17 && head[1] == -69 && head[2] == -65)
code = "UTF-8";
inputStream.close();
System.out.println(code);
return code;
}
}
分享到:
相关推荐
模块一项目源码(1).rar
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
<项目介绍> - 使用php实现的一个rbac权限管理微型系统 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
畅玩北海旅游网站 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
该MATLAB代码使用两步加权最小二乘法通过TDOA技术实现了二维目标定位。它通过随机生成的锚点和目标位置进行模拟,展示了如何通过迭代优化算法来提高位置估计的准确性。代码结构清晰,适合用于理解和实现基于TDOA的定位算法。
服务器可运行。实现文件复制。
基于vue和element-ui实现的可视化表单设计器,使用了最新的前端技术栈,内置了i18n国际化解决方案,可以让表单开发简单而高效。
环境说明: 开发语言:java 框架:ssm jdk版本:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse 部署容器:tomcat7+
基于java+sqlserver实现的电子通讯录(带系统托盘)(源码+数据库+系统详细配置方法)
入职资料整理小程序,能够整理入职资料
功能说明: 管理员:管理员使用本系统涉到的功能主要有:首页,个人中心,用户管理,业务员管理,汽车类型管理,租赁汽车管理,汽车租赁管理,汽车归还管理,租赁订单管理,检查信息管理,系统管理等功能。 用户:用户使用本系统涉到的功能主要有:首页,个人中心,汽车租赁管理,汽车归还管理,租赁订单管理,检查信息管理,我的收藏管理等功能。 业务员:业务员使用本系统主要包括首页,个人中心,汽车租赁管理,汽车归还管理,租赁订单管理,检查信息管理等功能。 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
基于python+Jupyter实现答题卡检测、试题切分、学生考号识别、选择题自动批改+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档~ 项目简介: 多张图连续检测 功能:如果一套试卷的答题卡数量大于1,也支持检测,并且按试题顺序拼凑检测结果(即下面这套试卷假设存在位于第二张答题卡上的第八题,支持连续检测) 2、试题切割 功能: 将答题卡按试题切成一张张图片,并将图片与题序一一对应 程序能知道第六大题存在2张图片 3、学生考号识别 1)切割出学生手写的准考证号 2)识别出学生填充的准考证号 4、选择题自动批改检测 识别结果(key:题序,value:答案的索引): {1: [2], 2: [1], 3: [3], 4: [3], 5: [1], 6: [1], 7: [4], 8: [2], 9: [4], 10: [1], 11: [3], 12: [1], 13: [1], 14: [1], 15: [1]} 选择题自动批改支持以下变化 无论试题的候选项有四个还是五六七八个,都支持识别
StyleControls 5.80.7z
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
burp 破解工具
使用OpenGL实现渲染场景的shadow map。
在线画展系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
图片转PDF(不旋转),服务器可用,后缀名要标注好,支持常见的图片格式。
MCU:dsp28335;主电路使用simulink仿真,控制电路使用dsp进行运行;中间使用串口进行;具体请见博文: https://blog.csdn.net/qq_42151264/article/details/124994055?csdn