JAVA支持字符编码读取文件
文件操作,在java中很常用,对于存在特定编码的文件,则需要根据字符编码进行读取,要不容易出现乱码
/**
* 读取文件
* @param filePath 文件路径
*/
public static void readFile(String filePath) {
FileInputStream fis = null;
BufferedReader br = null; String line = null;
try {
fis = new FileInputStream(filePath);
br = new BufferedReader(new InputStreamReader(fis));
while (null != (line = br.readLine())) {
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 释放资源
if (null != fis) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != br) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
使用字符编码读取文件,防止乱码
/**
* 读取文件,使用字符编码读取文件,防止乱码
* 字符编码参数如果为空或者null,则使用默认读取文件
*
* @param filePath 文件路径
* @param encodingStr 字符编码
*/
public static void readFile(String filePath, String encodingStr) {
if (null == encodingStr || encodingStr.trim().length() <= 0) {
readFile(filePath);
} else {
FileInputStream fis = null;
BufferedReader br = null; String line = null;
try {
fis = new FileInputStream(filePath);
// 使用字符编码读取文件,防止乱码
br = new BufferedReader(new InputStreamReader(fis, encodingStr));
while (null != (line = br.readLine())) {
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 释放资源
if (null != fis) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != br) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
} }
JAVA支持字符编码读取文件的更多相关文章
- Python-字典、集合、字符编码、文件操作整理-Day3
1.字典 1.1.为什么有字典: 有个需求,存所有人的信息 这时候列表就不能轻易的表示完全names = ['stone','liang'] 1.2.元组: 定义符号()t = (1,2,3)tupl ...
- python基础(三)----字符编码以及文件处理
字符编码与文件处理 一.字符编码 由字符翻译成二进制数字的过程 字符--------(翻译过程)------->数字 这个过程实际就是一个字符如何对应一个特定数字的标准,这个标准称之 ...
- java 使用相对路径读取文件
java 使用相对路径读取文件 1.java project环境,使用java.io用相对路径读取文件的例子: *目录结构: DecisionTree |___src ...
- Java:bufferedReader.readLine()读取文件换行问题
代码实现读取到的内容正常换行,并将内容复制到系统剪贴板当中去. public static void ReadAlart() { try { String encoding="utf-8&q ...
- Python之字符编码与文件操作
目录 字符编码 Python2和Python3中字符串类型的差别 文件操作 文件操作的方式 文件内光标的移动 文件修改 字符编码 什么是字符编码? ''' 字符编码就是制定的一个将人类的语言的字符与二 ...
- Java以UTF-8编码读写文件
java中文件操作体现了设计模式中的装饰者模式 . 以utf-8编码写入文件: FileOutputStream fos = new FileOutputStream("test.txt&q ...
- python基础知识5---数据类型、字符编码、文件处理
阅读目录 一 引子 二 数字 三 字符串 四 列表 五 元组 六 字典 七 集合 八 数据类型总结 九 运算符 十 字符编码 十一 文件处理 十二 作业 一 引子 1 什么是数据? x=10,10 ...
- python文件操作:字符编码与文件处理
一.字符编码 二.文件处理 一.字符编码 储备知识点: 1. 计算机系统分为三层: 应用程序 操作系统 计算机硬件 2. 运行python程序的三个步骤 1. 先启动python解释器 2. 再将py ...
- Java实现一行一行读取文件内容(进行编码处理)
// 读取文件内容public String readFile(){ String path = ""; File file = new File(path); StringBui ...
随机推荐
- C++类*类型和其他类型相互转换
类类型转换时会出现两种之间转换,下面我们说的是类类型 1.其他类型转换为本类类型 通过类带一个参数的构造函数:或者多个参数构造函数,除了第一个参数后面参数都有默认值时!这样在其他类型赋值给该类类型对象 ...
- 使用Spring Ehcache二级缓存优化查询性能
最近在对系统进行优化的时候,发现有些查询查询效率比较慢,耗时比较长, 通过压测发现,主要耗费的性能 消耗在 查询数据库,查询redis 数据库:连接池有限,且单个查询不能消耗大量的连接池,占用大量IO ...
- 微信小程序入门与实战 常用组件API开发技巧项目实战*全
第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...
- iptables----sport、dport解释
以前一直对iptables的sport.dport不清楚,所以这里记录一下. (1)清理防火墙: iptables -F iptables -X iptables -Z (2)iptables命令选项 ...
- Buuctf pwn1 详细wp
目录 程序基本信息 程序溢出点 确定返回地址 编写exp脚本 成功getshell 程序基本信息 我们可以看到这是一个64程序,没有保护开启. 程序溢出点 gets函数可以读取无限字符,存在栈溢出. ...
- .NET开发人员的完美.gitignore文件
# Build and Object Folders bin/ obj/ # Nuget packages directory packages/ ## Ignore Visual Studio te ...
- Mininet系列实验(六):Mininet动态改变转发规则实验
一. 实验目的 熟悉Mininet自定义拓扑脚本的编写:熟悉编写POX脚本动态改变转发规则 二.实验原理 在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为.在本实验中,基于Mi ...
- legend3---18、第一阶段代码完成
legend3---18.第一阶段代码完成 一.总结 一句话总结: 看起来麻烦或者自己因为厌烦不想做的,其实硬着头皮来做,一下子就做完了 1.layer_mobile的loading层和关闭loadi ...
- Keil MDK 5代码补全功能设置
这段时间在用Keil5编程,经常会遇到在程序文件头部定义一个全局变量.在后面的编程过程中,经常会要用到这个变量,如果每次再打这个变量名会特别麻烦和浪费时间,我就想着Keil5有没有像vs软件一样的代码 ...
- 如何git revert merge commit?
答: git revert -m <parent-number> <commit-id> (适用于merge操作的commit) 参考资料: https://blog.csdn ...