在Java中只获取CSV的前两个位置

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (70)

我有一个包含德国汽车牌照的csv文件。结构如下:B,柏林,德国第一个B是城市的第一个大写字母,第二个位置是城市,第三个位置是州

我只想要前两个职位,只有B和柏林

我知道如何用Java读取CSV文件,但我不知道如何告诉编译器“忽略”第三个位置?

public void read(){
    InputStream inputStream = getResources().openRawResource(R.raw.carplates);

    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    try {
        String csvLine;
        while ((csvLine = reader.readLine()) != null) {
            String[] row = csvLine.split(",");
            for(int i=0; i<row.length;i++){
                Log.d("ROWS", row[i]);
            }
 }

输出是一个包含B,柏林和德国的数组。由于有400个印版,因此无法手动删除csv文件中的状态。这里的诀窍是什么?

先感谢您

提问于
用户回答回答于

跳过最后一行:

for(int i=0; i<row.length - 1; i++){
    Log.d("ROWS", row[i]);
}

如果您确定每行包含正好3个值,请执行此操作。理想情况下,这些东西应该是可配置的。一般情况下,您不希望只记录这些内容,因此请考虑将数据映射到某些License.class并使用license.getLetter(),license.getCity()或其他

用户回答回答于
//ideally, this should be on config file
int maxIndexToRead = 2;

for(int i=0; i< maxIndexToRead;i++)
{
     Log.d("ROWS", row[i]);
}

是的,Allman的风格规则

扫码关注云+社区

领取腾讯云代金券