Utf8BomRemover
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
// package com.company; import java.io.File;
import java.io.IOException;
import java.util.Collection;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import org.apache.commons.io.DirectoryWalker;
import org.apache.commons.io.FileUtils; public class Utf8BomRemover extends DirectoryWalker {
private String extension = null;
private JFrame jFrame;
private int count; public Utf8BomRemover(JFrame controller, String extension) {
this.extension = extension;
this.jFrame = this.jFrame;
this.count = 0;
} public void start(File rootDir) throws IOException {
this.walk(rootDir, (Collection)null);
} protected void handleFile(File file, int depth, Collection results) throws IOException {
this.remove(file);
++this.count;
} protected void handleEnd(Collection results) throws IOException {
JOptionPane.showMessageDialog(this.jFrame, "你成功修改" + this.count + "个.java编码的BOM文件");
} private void remove(File file) throws IOException {
byte[] bs = FileUtils.readFileToByteArray(file);
if (bs[0] == -17 && bs[1] == -69 && bs[2] == -65) {
byte[] nbs = new byte[bs.length - 3];
System.arraycopy(bs, 3, nbs, 0, nbs.length);
FileUtils.writeByteArrayToFile(file, nbs);
} }
}
if(contents.length > 2 && (contents[0]&0xFF) == 0xEF && (contents[1] & 0xFF) == 0xBB && (contents[2] & 0xFF) == 0xBF) {
byte[] trim = new byte[contents.length - 3];
System.arraycopy(contents, 3, trim, 0, trim.length);
return trim;
}
Utf8BomRemover的更多相关文章
- java 清除 bom
参考工具 http://akini.mbnet.fi/java/unicodereader/ Utf8BomRemover 清除bom的方法 package cn.com.do1.component ...
随机推荐
- EUI库 - EXML
EXML是可以运行时加载解析的 <e:Skin class="skins.ButtonSkin" states="up,down,disabled&qu ...
- 洛谷 P1435 回文字串
题目传送门 解题思路: 就是求一个字符串的最长回文子序列的长度,然后用整个的长度减去最长回文子序列的长度 AC代码: #include<iostream> #include<cstd ...
- storm on yarn安装时 提交到yarn失败 failed
最近在部署storm on yarn ,部署参考文章 http://www.tuicool.com/articles/BFr2Yvhttp://blog.csdn.net/jiushuai/artic ...
- oracle 查询char类型的数据
曾经遇到一个坑. ';//使用PLSQL工具 能查出结果 偏偏在java代码里面查询不出结果. select taskdate from taskinfo where taskdate='201808 ...
- JAVAEE 和项目开发(第五课:服务器软件的介绍)
Web服务器根据对javaEE支持的能力分为两大类 1,JavaEE服务器(应用服务器) 1) IBM公司 WebSphere 2) BEA公司 WebLogic 3) JBoss 公司 JBoss ...
- 六、CI框架之分配变量
一.在controllers里面添加 $this->load->vars('m_Str1','我是一个字符串变量'); 二.在View中添加相应代码 界面显示效果如下: 不忘初心,如果您认 ...
- 快速幂(51Nod1046 A^B Mod C)
快速幂也是比较常用的,原理在下面用代码解释,我们先看题. 51Nod1046 A^B Mod C 给出3个正整数A B C,求A^B Mod C. 例如,3 5 8,3^5 Mod 8 = 3. In ...
- equals与hashcode分析
我们经常在面经中看到这样的问题,为什么重写equals方法就一定要重写hashcode方法.本文就是分析这个问题. <!--more--> 在阿里巴巴java开发手册中就给出了这样的规则. ...
- (排序)P1781 宇宙总统
题解: 此题的关键不在排序,而在于大数字 我们可以用字符串进行存储,比较他们的长度,长度一样时比较他们的大小即可 #include<iostream>using namespace std ...
- 中后缀表达式/洛谷P1175 表达式的转换
P1175 表达式的转换 思路:先用栈转成中缀表达式,再用栈进行计算.要输出过程,因此计算一次输出一次,但是栈没有迭代器,不好用,换成vector(可以pop_back).虽然表达式求值也可以这么做, ...