00000001.htm

来自「水木清华BBS」· HTM 代码 · 共 114 行

HTM
114
字号
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;shah&nbsp;(rt),&nbsp;信区:&nbsp;Java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>我想使一个JEditorPane显示RTF文件内容,&nbsp;<BR>用Swing中的RTFEditorKit作为JEditorPane&nbsp;<BR>的EditorKit,可是在调用RTFEditorKit的&nbsp;<BR>read()方法读入一个RTF文件时失败,&nbsp;<BR>DEBUG发现抛出了IO异常:NullFilePointer,&nbsp;<BR>跟踪发现read()方法调用了RTFReader的readFromStream(),&nbsp;<BR>通过查看源代码发现在RTFReader的setCharacterSet()方法&nbsp;<BR>(我估计是初始化RTF关键字的)内如下语句抛出了该异常:&nbsp;<BR>&nbsp;&nbsp;......&nbsp;<BR>&nbsp;&nbsp;InputStream&nbsp;stream=this.getResourceAsStream(&quot;charsets/ansi.txt&quot;);&nbsp;<BR>&nbsp;&nbsp;//read&nbsp;from&nbsp;stream&nbsp;抛出异常&nbsp;<BR>&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;//&nbsp;<BR>是不是这儿出了问题(我用的是Application,可读本机文件吧)?&nbsp;<BR>还是哪儿有东西我没考虑到。&nbsp;<BR>&nbsp;<BR>请有这方面经验的大侠快出手。&nbsp;<BR>&nbsp;<BR>PS.&nbsp;我用的Cafe3.0为什么调试时看不到Variable的值,&nbsp;<BR>只能看到类内静态成员的值,总提示说&nbsp;<BR>Expression&nbsp;cannot&nbsp;calculated,是不是因为试用版?&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>发信人:&nbsp;KHP&nbsp;(人之初),&nbsp;信区:&nbsp;Java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>呵呵,原因是没找到&nbsp;ansi.txt&nbsp;这个文件,这个文件应该放在&nbsp;swing&nbsp;的&nbsp;<BR>类库中,javax.swing.text.rtf.charsets/ansi.txt。&nbsp;<BR>&nbsp;<BR>也许你用&nbsp;JDK&nbsp;从命令行运行就没问题了,可能是Cafe带的JVM和JDK对路径的解释&nbsp;<BR>不一致造成的。&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;shah&nbsp;(rt)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;我想使一个JEditorPane显示RTF文件内容,&nbsp;</I><BR>∶<I>&nbsp;用Swing中的RTFEditorKit作为JEditorPane&nbsp;</I><BR>∶<I>&nbsp;的EditorKit,可是在调用RTFEditorKit的&nbsp;</I><BR>∶<I>&nbsp;read()方法读入一个RTF文件时失败,&nbsp;</I><BR>∶<I>&nbsp;DEBUG发现抛出了IO异常:NullFilePointer,&nbsp;</I><BR>∶<I>&nbsp;跟踪发现read()方法调用了RTFReader的readFromStream(),&nbsp;</I><BR>∶<I>&nbsp;通过查看源代码发现在RTFReader的setCharacterSet()方法&nbsp;</I><BR>∶<I>&nbsp;(我估计是初始化RTF关键字的)内如下语句抛出了该异常:&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;......&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;InputStream&nbsp;stream=this.getResourceAsStream(&quot;charsets/ansi.txt&quot;);&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;//read&nbsp;from&nbsp;stream&nbsp;抛出异常&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;//&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;//&nbsp;</I><BR>∶<I>&nbsp;是不是这儿出了问题(我用的是Application,可读本机文件吧)?&nbsp;</I><BR>∶<I>&nbsp;还是哪儿有东西我没考虑到。&nbsp;</I><BR>∶<I>&nbsp;请有这方面经验的大侠快出手。&nbsp;</I><BR>∶<I>&nbsp;PS.&nbsp;我用的Cafe3.0为什么调试时看不到Variable的值,&nbsp;</I><BR>∶<I>&nbsp;只能看到类内静态成员的值,总提示说&nbsp;</I><BR>∶<I>&nbsp;Expression&nbsp;cannot&nbsp;calculated,是不是因为试用版?&nbsp;</I><BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>发信人:&nbsp;shah&nbsp;(rt),&nbsp;信区:&nbsp;Java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>我当时也怀疑过这个问题,可是检查发现&nbsp;<BR>C:\Visual&nbsp;Cafe\jfc\swing\text\rtf\charsets\下是有&nbsp;<BR>ansi.txt文件的,我的机器上同时装了JDK1.2和Cafe3.0,&nbsp;<BR>路径都搞糊涂了,比如JDK的Demo里import的javax.*在&nbsp;<BR>Cafe里就不行,要改成com.sun.java.*,&nbsp;<BR>&nbsp;<BR>我在命令行下运行,结果是一样,只不过那一大堆出错显示在&nbsp;<BR>屏幕上了,我也觉得是路径的问题,可是应该怎么设呢?&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;KHP&nbsp;(人之初)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;呵呵,原因是没找到&nbsp;ansi.txt&nbsp;这个文件,这个文件应该放在&nbsp;swing&nbsp;的&nbsp;</I><BR>∶<I>&nbsp;类库中,javax.swing.text.rtf.charsets/ansi.txt&nbsp;</I><BR>but&nbsp;how&nbsp;can&nbsp;I&nbsp;&nbsp;put&nbsp;it?&nbsp;<BR>&nbsp;<BR>∶<I>&nbsp;也许你用&nbsp;JDK&nbsp;从命令行运行就没问题了,可能是Cafe带的JVM和JDK对路径的解释&nbsp;</I><BR>∶<I>&nbsp;不一致造成的。&nbsp;</I><BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>发信人:&nbsp;jjhwang&nbsp;(小受),&nbsp;信区:&nbsp;Java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>Visual&nbsp;cafe里面可以设自己的VM环境的。&nbsp;<BR>设好运行绝对没问题!&nbsp;<BR>【&nbsp;在&nbsp;KHP&nbsp;(人之初)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;呵呵,原因是没找到&nbsp;ansi.txt&nbsp;这个文件,这个文件应该放在&nbsp;swing&nbsp;的&nbsp;</I><BR>∶<I>&nbsp;类库中,javax.swing.text.rtf.charsets/ansi.txt。&nbsp;</I><BR>∶<I>&nbsp;也许你用&nbsp;JDK&nbsp;从命令行运行就没问题了,可能是Cafe带的JVM和JDK对路径的解释&nbsp;</I><BR>∶<I>&nbsp;不一致造成的。&nbsp;</I><BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?