在java中解析文本文件 - 错误

时间:2014-07-02 08:05:19

标签: java parsing arraylist

我正在尝试删除以下代码中的错误。

package in.citydoor.imports.catalog.tools;  
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList;

public class Main {
    /**
     * @param args
     */  
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        String file_name="C:/aman/textfile.txt";

        try {
            CatFeedWriterToMemory obj = new CatFeedWriterToMemory(file_name);
            String[] arryLines = obj.ReadFile();
           /*
           * int i;
           * for(i=0;i<arryLines.length;i++){
           * System.out.println(arryLines[i]);
           * }
           */  
        } catch(IOException e) {
            System.out.println(e.getMessage());
            System.out.println("Keep file on specified path");
        }
    }
}

package in.citydoor.imports.catalog.tools;
import java.util.ArrayList;

public class CatFeedBean {    
    ArrayList<ProductVo> parsedList = new ArrayList<ProductVo>();
    ArrayList<PriceVo> priceList = new ArrayList<PriceVo>();
    ArrayList<SkuVo> SkuList = new ArrayList<SkuVo>();

    **String[] columns = arryLines.split("/");**

    String productid = columns[0];
    String productname = columns[1];
    String skuid = columns[2];
    String price = columns[3];

    ProductVo productObj = new ProductVo(productid,productname);
    **parsedList.add(productObj);**
    SkuVo skuObj =  new SkuVo(skuid);
    //  SkuList.add(skuObj);
    PriceVo priceObj = new PriceVo(price);
    // priceList.add(priceObj);
}

package in.citydoor.imports.catalog.tools;

public class ProductVo {     
    private String product_id;
    private String product_name;

    public ProductVo(String i, String n) {
        product_id = i;
        product_name = n;  
    }

    public String getProductId() {
      return this.product_id;
    }

    public void setProductId(String product_id) {
        this.product_id = product_id;
    }

    public String getProductName() {
        return this.product_name;
    }

    public void setProductname(String product_name){
        this.product_name = product_name;
    }
}

1)对于主类中的行String[] columns = arryLines.split("/");

我收到错误&#34; arryLines无法解决&#34;。

2)。对于第parsedList.add(productObj);行&#34;在CatFeedBean类中,

我收到错误&#34;令牌上的语法错误&#34; productObj&#34;,此令牌后的VariableDeclaratorId&#34;。

2 个答案:

答案 0 :(得分:1)

是,

  1. arryLines是Main类中的局部变量。
  2. 代码不在方法中,它在声明部分 类。

答案 1 :(得分:0)

您应该在方法或构造函数中调用add - 方法。

像:

public CatFeedBean() {
    parsedList.add(productObj);
}

请参阅stackoverflow.com/questions/17499455