开发踩过的坑
右眼视觉90
这个作者很懒,什么都没留下…
展开
-
JAVA 读取文件编码格式兼容(获取)
public static String codeString(String fileName) throws Exception { BufferedInputStream bin = new BufferedInputStream(new FileInputStream(fileName)); int p = (bin.read() << 8) + bin.read(); bin.close(); String code = null; switch (p) { ..原创 2022-05-12 17:28:06 · 238 阅读 · 0 评论 -
java 深拷贝
在Map中提供的一个putAll方法,可以部分解决无法深拷贝这个问题,(为什么是部分呢?因为putAll方法只能对基本数据类型进行深复制,对于对象类型完全也是无力),因此急需一个好的解决方案来进行对象的深复制有一个方法是,使用序列化Serializable这个接口可以完成深拷贝的操作,但遗憾的是Map对象并没有实现Serializable接口,不能直接对接口进行深复制操作。但是作为Map的子类,HashMap实现了Serialization,因此可以通过以下的方式实现深复制。public static原创 2021-05-14 14:49:36 · 93 阅读 · 0 评论 -
maven项目在IDE中运行OK,mvn打包异常原因(坑!)
背景:Java > maven 的 jar 项目现象:eclipse和IDEA下都能正常运行,mvn clean package运行异常:Caused by: java.lang.NullPointerException at java.io.File.<init>(Unknown Source) ~[?:1.8.0_191] at java.util.jar.JarFile.<init>(Unknown Source) ~[?:1.8.原创 2021-04-15 20:56:57 · 495 阅读 · 0 评论 -
eclipse运行与打包运行不同----编码格式
在读文件时直接用new InputStreamReader(new FileInputStream(file))就会产生一个很难查的问题:在eclipse或其他IDE里运行的结果和打成jar包的运行结果不一致。这是由于没有指定编码格式导致的,切记不论读取什么文件,都要加上对应的编码格式。正确示例如下:new InputStreamReader(new FileInputStream(file), “UTF-8”)容易忽略的是eclipse和其他IDE里默认设置了字符集为UTF-8,但是打包之后的系统字原创 2021-03-17 17:57:29 · 319 阅读 · 0 评论 -
Java 汉字转拼音 完整代码实例(包含多音字解决方案)
汉字转换拼音的方法是使用到一个库:pinyin4j下载地址百度即可这里放一个maven依赖<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.1</version></dependency>后面就是完整的工具类和多音字解决方案pub原创 2021-03-04 14:48:54 · 972 阅读 · 2 评论 -
java 读取txt文件遇到怪异符号开头
当我们读取常见的txt文本的时候,会遇到读取内容和用文本编辑器看到内容不一致的问题,这是因为txt设置了bom头信息导致的,多为读取第一行的开头会有一个“?” InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);如果像是上面这样写就会造成这种问题。解决方式就是在创建InputStreamReader 时加上指定的格式,代码如下try { FileInputStream fileInputSt原创 2021-03-01 11:28:56 · 528 阅读 · 0 评论