Java 按行读取UTF-8文件,开头第一行总会有一个不可见字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 按行读取UTF-8文件,开头第一行总会有一个不可见字符相关的知识,希望对你有一定的参考价值。
文件打开代码:
FileInputStream fileInputStream = new FileInputStream(fileHandle);
InputStreamReader inputStream = new InputStreamReader(fileInputStream, "UTF-8");
readerBuffer = new BufferedReader(inputStream);
文件读取代码:
String strLine = null;
try
strLine = readerBuffer.readLine();
catch (IOException errRead)
return null;
将文件另存为ASCII格式就没有这个问题。请问是什么原因造成这个问题?
没有BOM 则表示是默认的ASCII
BOM主要用途是给类似txt sublimetext notepad 之类的ide看的 让它们能够知道用哪种编码显示里面的内容 参考技术A 文件编码的UTF8withBOM(M$搞的),Java是UTF8withoutBOM。
那个是字节顺序标记
按行读取txt文本
#!/usr/bin/python
import csv
NewSN = ""
#read last line head data
with open(\'SFPrintLabel.txt\',"r") as file:
file_content = file.readlines() #把全文档读取为一个表,每一行为一个元素
file_line_last01 = file_content[0] #读取第一行字符串内容
file_line_last = file_content[-1] #读取最后一行字符串内容
target = file_line_last[:12] #截取前12个字符并存入变量target
print(target)
print(file_content)
print(file_line_last01)
print(file_line_last)
file.close()
以上是关于Java 按行读取UTF-8文件,开头第一行总会有一个不可见字符的主要内容,如果未能解决你的问题,请参考以下文章
java 按行读取utf-8文件且处理每行string,将处理后的string写到一个新的utf-8格式文件,不能有乱码
使用java的输入输出流将一个文本文件的内容按行读取,每读一行就顺序添加行号,并写入到另一个文件中