如何将列表值标记为n次

时间:2013-10-30 09:23:14

标签: java

   public void readTemplateInput() {
        BufferedReader inputfile = null;       
        try {
            File file = new File("D:\\inputparam.txt");
            inputfile = new BufferedReader(new FileReader(file));
            String line = inputfile.readLine(); 
            if(line!=null){
            StringTokenizer reporttokens = new StringTokenizer(line,"-");
            while (reporttokens.hasMoreTokens()) {                
                 String tokens= reporttokens.nextToken().toString();  
                 reportslist=new ArrayList();
                 reportslist.add(tokens);
                 getReportTokens(reportslist);
              }           
            }
    } catch (FileNotFoundException ex) {
            Logger.getLogger(InputTemplateData.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(InputTemplateData.class.getName()).log(Level.SEVERE, null, ex);
        }    
        finally {
            try {
                inputfile.close();
            } catch (IOException ex) {
                Logger.getLogger(InputTemplateData.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

    public void getReportTokens(List reportslist) {
        List reports=reportslist;

}

这里我需要得到第一个列表并需要将该列表分配给一个字符串并需要标记化。这个过程重复像list2分配给一个字符串并对其进行标记,并且list3 ......依此类推.txt文件。     我不知道解决这个问题。     任何人都会帮助正确的代码。

1 个答案:

答案 0 :(得分:1)

以下是您的代码被修改为使用split(),但我不知道您的数据是如何实际格式化的,以及如何解析...代码将分割所有行以及我可以看到的所有分隔符你在最后一个清单中的例子..

public ArrayList<String> readTemplateInput()
{

    BufferedReader inputfile = null;
    ArrayList<String> finalList = null;

    try
    {
        File file = new File("D:\\inputparam.txt");
        inputfile = new BufferedReader(new FileReader(file));
        String line = inputfile.readLine();

            finalList = new ArrayList<String> ();

        if(line!=null)
        {
            String[] listA = line.split("-");

            ArrayList<String> listB = new ArrayList<String>();

            for (String str : listA)
            {
                listB.addAll(str.split("#").asList());
            }

            ArrayList<String> listC = new ArrayList<String>();

            for (String str : listB)
            {
                listC.addAll(str.split("$").asList());
            }

            ArrayList<String> listD = new ArrayList<String>();

            for (String str : listC)
            {
                listD.addAll(str.split("\(|\)").asList());
            }

            ArrayList<String> listE = new ArrayList<String>();

            for (String str : listD)
            {
                listE.addAll(str.split(",").asList());
            }

            // filter

            for (String str : listE)
            {
                str.replaceAll("\s+"," ");

            }

            for (int i=0; i<listE.size(); i++)
            {
                if(listE.get(i).equals(" ") || listE.get(i).equals(""))
                {
                    listE.remove(i);
                    i--;
                }
            }

                    finalList.addAll(listE);
        }

    }
    catch (FileNotFoundException ex)
    {
        Logger.getLogger(InputTemplateData.class.getName()).log(Level.SEVERE, null, ex);
    }
    catch (IOException ex)
    {
        Logger.getLogger(InputTemplateData.class.getName()).log(Level.SEVERE, null, ex);
    }
    finally
    {
        try
        {
            inputfile.close();
        }
        catch (IOException ex)
        {
            Logger.getLogger(InputTemplateData.class.getName()).log(Level.SEVERE, null, ex);
        }

            return finalList;
    }

}