【发布时间】:2016-04-19 20:52:33
【问题描述】:
我有一个使用缓冲读取器读取文件并拆分的代码,所述文件是通过在文件开头自动添加 4KB 空白空间的方法创建的,这导致当我读取时发生以下情况:
首先是代码:
BufferedReader metaRead = new BufferedReader(new FileReader(metaFile));
String metaLine = "";
String [] metaData = new String [100000];
while ((metaLine = metaRead.readLine()) != null){
metaData = metaLine.split(",");
for (int i = 0; i < metaData.length; i++){
System.out.println(metaData[i]);
}
}
这是结果,请记住此文件已经存在并包含值:
//4096 spaces then the first actual word in the document which is --> testTable2
Name
java.lang.String
true
No Reference
有没有办法跳过前 4096 个空格,直接得到文件中的实际值,这样我就可以定期得到结果?因为稍后我将在其他操作中使用元数据数组,而且我很确定空格会弄乱数组中的槽数。任何建议,将不胜感激。
【问题讨论】:
-
你考虑过吗,呃,
BufferedReader.skip()? -
为什么不修复文件创建以摆脱无意义的 4K 空间呢?而不是构建合作错误?
标签: java file split bufferedreader