读取文件数据并按字符 | 切分数据
读取指定路径的文件,按照指定字符区分每行数据,后续可以统一上传数据库。
代码示例
/**
* 测试文件数据读取并按行切分
*/
public class TestFileCut {
public static void main(String[] args) {
String str = "D:\\ruleEngine20230314CreditResults.del";
try {
FileInputStream fis = new FileInputStream(str);
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;// 行数据
// 文件数据行
String[] column;
// 循环读取每一行
while ((line = br.readLine()) != null) {
// 按照 | 分割数据 (特殊字符需要处理) 这里是按照 | 分割数据
column = line.split("\\|",-1);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
注意:
- 一些特殊的分隔符需要转义处理
,
无需特殊处理|
则需要转义处理 - 数据分隔符相邻造成的空数据问题
行数据按照行的分隔符切分成字符串数组时
使用line.split("\\|")
如果实际的行数据分隔符相连,他们中间的位置并不会被识别为"" 空字符串
,我们如果仍使用数组获取该位置数据可能会报越界异常,我们可以添加第二个参数为-1
来避免此类情况,例如line.split("\\|",-1)