将list1[0]
更改为list1[1]
时遇到的错误:
我正在做一个程序,使用Java中的RDF模型从文件打印,我想让该对象成为Sting,但我找不到解决方法,我尝试使用2- d数组让它从文件中读取并将数据打印到输出屏幕中。但是,它不起作用,我无法弄清原因。
这是我的代码:
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);
这是显示的OUTPUT消息:
<https://Bio2cv.net/ENSP000003488> <hasSynonyms> "ENSP000003488” .
资源的输出与字符串相同。
答案 0 :(得分:1)
输入文件的第二列中的同义词名称是吗?
如果是这样,则您在此处使用错误的索引0
:
synonyms=model1.expandPrefix(list1[0]);
将其更改为1
,并在需要纯文本字符串的情况下也删除model1.expandPrefix()
调用:
synonyms=list1[1];
要跳过无效行(不带制表符),请在split()
调用后更改代码。检查list1
数组的长度:
String[] list1 = line1.split("\t");
if (list1.length < 2) continue;
您还在读取输入的两行而不是一行。
更改此代码:
while ((bufferedReader1.readLine()) != null) {
line1 = bufferedReader1.readLine();
对此:
while ((line1 = bufferedReader1.readLine()) != null) {