首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用java的apache jena格式的RDF/XML

使用java的apache jena格式的RDF/XML
EN

Stack Overflow用户
提问于 2018-07-24 01:59:06
回答 1查看 178关注 0票数 -2

list1[0]更改为list1[1]时出现的错误

我正在做一个使用java的RDF模型从文件中打印的程序,我想让对象作为一个Sting,但我找不到一个方法,我试图通过使用2-d数组让它从文件中读取并将数据打印到输出屏幕上。然而,它不工作,我不能找出原因。

下面是我的代码:

代码语言:javascript
复制
String synonyms =null;

try {
        File file1 = new File("Data/9687.txt");
        FileReader fileReader1 = new FileReader(file1);
        BufferedReader bufferedReader1 = new BufferedReader(fileReader1);
        StringBuffer stringBuffer = new StringBuffer();
        String line1;
        System.out.println("Proteins & Synonyms:");
        while ((bufferedReader1.readLine()) != null) {
                line1 = bufferedReader1.readLine();
                String[] list1 = line1.split(“/t”)
                synonyms=model1.expandPrefix(list1[0]);
                proteinG.addProperty(hasSynonyms,synonyms); 

下面是显示的输出消息:

代码语言:javascript
复制
<https://Bio2cv.net/ENSP000003488> <hasSynonyms> "ENSP000003488” .

资源的输出与字符串相同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-24 02:15:58

同义词名称是否在输入文件的第二列中?如果是这样的话,您在这里使用了错误的索引0

代码语言:javascript
复制
            synonyms=model1.expandPrefix(list1[0]);

如果您想要一个普通字符串文字,请将其更改为1,并删除model1.expandPrefix()调用:

代码语言:javascript
复制
            synonyms=list1[1];

为了跳过无效行(无制表符),请在split()调用后更改代码。检查list1数组的长度:

代码语言:javascript
复制
            String[] list1 = line1.split("\t");
            if (list1.length < 2) continue;

您还可以从输入中读取两行而不是一行。

更改此代码:

代码语言:javascript
复制
    while ((bufferedReader1.readLine()) != null) {
            line1 = bufferedReader1.readLine();

要这样做:

代码语言:javascript
复制
    while ((line1 = bufferedReader1.readLine()) != null) {
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51484753

复制
相关文章

相似问题

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