以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  求教jena输出文件的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=37307)


--  作者:alanshadow
--  发布时间:8/28/2006 5:02:00 PM

--  求教jena输出文件的问题
最近使用jena开发应用程序
涉及到输出

我希望保存为.rdf文件

代码如下
File file = new File("C:\\ontology.rdf");
FileOutputStream f1 = new FileOutputStream(file);
model.write(f1);

编译的时候总是报错:cannot resolve symbol
                             symbol:f1

然后又改成try{
File file = new File("C:\\ontology.rdf");
   FileOutputStream f1=new FileOutputStream(file);
   RDFWriter d = model.getWriter();
   d.write(model,f1,null);

还是报同样的错
实在不知道怎么改

求助大家,谢谢


--  作者:jpz6311whu
--  发布时间:8/28/2006 5:04:00 PM

--  
cannot resolve symbol
symbol:f1
是说f1变量没有定义成功,
你的FileOutputStream类显示声明为import没有?
--  作者:jiexincao
--  发布时间:8/28/2006 9:35:00 PM

--  
2楼的帅哥好强,每次我看到这些错误的时候还想去验证一下具体的情况,你就已经给出答案了。PFPF!
--  作者:alanshadow
--  发布时间:8/28/2006 9:49:00 PM

--  
是不是 import java.io.*;
已经加了还是报这个错
--  作者:jpz6311whu
--  发布时间:8/28/2006 10:14:00 PM

--  
请楼主把完整的程序代码,以及完整的程序报错(包括stack trace)贴出来看看
--  作者:alanshadow
--  发布时间:8/28/2006 10:26:00 PM

--  

import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.util.FileManager;

import java.io.*;

public class fileoutput extends Object {

    static final String inputFileName  = "ontology.rdf";
                              
    public static void main (String args[]) {
    
        Model model = ModelFactory.createDefaultModel();

        InputStream in = FileManager.get().open( inputFileName );
        if (in == null) {
            throw new IllegalArgumentException( "File: " + inputFileName + " not found");
        }
        
        
        model.read(new InputStreamReader(in), "");
                    
       
try{
File file=new File("C:\\a.rdf");
   FileOutputStream f1=new FileOutputStream(file);
}catch(Exception e)
{}
   RDFWriter d = model.getWriter();
   d.write(model,f1,null);
                 
    }
}

程序报错
fileoutput.java:31: cannot resolve symbol
symbol :  variable f1
location: class fileoutput
     d.write(model,f1,null);
1 error


--  作者:jpz6311whu
--  发布时间:8/28/2006 11:39:00 PM

--  
fi在try语句里面,在外面方面肯定会cannot resolve symbol
把它定义到外面就好了
--  作者:alanshadow
--  发布时间:8/29/2006 12:52:00 AM

--  
谢谢你
解决了
恩放到外面的话会抛出FileNotfound的异常
所以把RDFWriter d = model.getWriter();
   d.write(model,f1,null);
放到try里就解决了
哎,真笨,居然没想到。。。
--  作者:jack8375
--  发布时间:7/13/2008 9:49:00 AM

--  
这是java基本的错误,try内代码的编译过程独立于其他代码,所以要定义变量的话 try内代码要保证完整性
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
7,798.828ms