Java - 从字符串

时间:2015-06-13 10:07:25

标签: java string

我正在开发一个Java应用程序来制作一些统计信息。

此应用程序从用户提供的.txt文件中获取所有数据。 该文件的第一行包含如下数据集的名称:

  

velx,vely,velz

     

//各种数据

我需要分析第一行并检索变量的三个名称,我正确地获得前两个但我无法获得最后一个。

有获取名字的代码:

public ArrayList<String> getTitle(){

// the ArrayList originally is not here but in the class intestation
// I copied it here to simplify code's understanding
ArrayList<String> title = new ArrayList<String>();

        try {
            InputStreamReader isr = new InputStreamReader(in);
            BufferedReader br = new BufferedReader(isr);
            StringBuilder sb = new StringBuilder();
            int titleN = 0;

            String line = br.readLine();   //read the first line of file
            String temp; 
            System.out.println(ManageTable.class.getName() + " Line: " + line);
            int c = line.length();

            for(int i = 0; i <c; i++){
                if((line.charAt(i) == ',') || **ANOTHER CONDITION** ){
                    temp = sb.toString();
                    System.out.println(ManageTable.class.getName() +" Temp is: " + temp);
                    title.add(temp);
                    System.out.println(ManageTable.class.getName() + " Title added");
                    sb.delete(0, sb.length());
                }else{
                    sb.append(line.charAt(i));
                }
            }   
        } catch (IOException ex) {
            Logger.getLogger(ManageTable.class.getName()).log(Level.SEVERE, null, ex);
        }

        return title;
    }

我需要在if语句中添加第二个条件,以便找出该行何时结束并保存姓氏,即使它后面没有',' 我尝试使用:

if((line.charAt(i) == ',') || (i==c)) 

但是从我得到的名字,总是会错过一个角色。 如何查看该行的结尾,以获得全名?

2 个答案:

答案 0 :(得分:4)

如果line只包含三个以逗号分隔的名称,则可以执行

<script>
 $(document).ready(function(){
    $(".sub_cat_name").click(function(){
        var cat_id = $(".sub_cat_name").attr("data-id");
        alert(cat_id);
        });
    });
</script> 

答案 1 :(得分:1)

不需要所有这些循环。您可以在逗号周围分割线以获得数组:

String[] names = line.split(",");