首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >只获取Java中CSV的前两个位置

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

Stack Overflow用户
提问于 2019-01-04 18:07:15
回答 4查看 139关注 0票数 0

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

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

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

代码语言:javascript
复制
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文件中的状态。这里的诀窍是什么?

提前谢谢你

清除

所有元素都在同一行中:B,Berlin,Germany,M,Munich,Germany...

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-01-04 18:11:02

跳过打印最后一行:

代码语言:javascript
复制
for(int i=0; i<row.length - 1; i++){
    Log.d("ROWS", row[i]);
}

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

票数 3
EN

Stack Overflow用户

发布于 2019-01-04 18:10:58

您可以更新您的for循环条件,使其仅读取列表的前两个元素。

就像这样

代码语言:javascript
复制
public void read(){
    InputStream inputStream = getResources().openRawResource(R.raw.kfzkennzeichen);

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

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2019-01-04 18:11:45

代码语言:javascript
复制
//ideally, this should be on config file
int maxIndexToRead = 2;

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

是的,Allman风格规则;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54036789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档