如何从文本文件中获取值

How to Get a value from a text file

我的问题:我需要从文本文件中获取多个值。

我正在开发一个从 ttcn-3 语言到 XML 语言的解析器,我需要做的是从 ttcn 模块中获取一些关键字和值,这些关键字和值被写在一个文本文件中构建 XML 文件。

这是我的 ttcn 代码的开头

module SessionSetup
{
type port InputPortType message { in charstring }
type port OutputPortType message { out charstring }
type component SessionSetupResComponentType {
    port InputPortType InputPort;
    port OutputPortType OutputPort;
}

例如,我需要获取模块 (SessionSetup) 之后的字符串,这是我编写的代码:

public  void ReadTheFileGetTheModuleName(String fichier){
            try{
                InputStream ips=new FileInputStream(fichier); 
                InputStreamReader ipsr=new InputStreamReader(ips);
                BufferedReader br=new BufferedReader(ipsr);
                String ligne;

                while ((ligne=br.readLine())!=null){
                    if (ligne.contains("module"))
                    {
                        String[] st = ligne.split(ligne, ' ');
                        System.out.println("Nom = "+st[1]);
                    }

                    chaine+=ligne+"\n";

                }
                br.close();
            }       
            catch (Exception e){
                System.out.println(e.toString());
            }
        }

问题是它不起作用,我没有得到模块后的字符串。

谢谢

 String[] st = ligne.split(ligne, ' ');
                       /\/\/\/\/\/\/\
                 Incorrect way, pass some regex on which string should split

你的String#Split()方法有误,请检查documentation

应该是这样的

public String[] split(String regex, int limit)

or

public String[] split(String regex)

注意:您不会得到编译时错误,因为 split() 方法中的这个 (' ') 是一个字符,可以隐式类型转换为整数。