急java错误。Exception in thread "main" java.lang.NullPointerException 30
atjava.io.Writer.write(UnknownSource)atali.Cigen.main(Cigen.java:77)publicclassCigen{...
at java.io.Writer.write(Unknown Source)
at ali.Cigen.main(Cigen.java:77)
public class Cigen
{
static Hashtable<String,Integer> table = new Hashtable<String,Integer>();
public String splitWords(String sentence)
{
String returnwords = null;
String word = null;
int n = sentence.length();
int m = 7;
boolean BFind = false;
try{....省略
catch (Exception e)
{
System.out.println(e.toString());
}
return returnwords;
}
public static void main(String[] args) throws IOException
{
try {
...
BufferedReader br = new BufferedReader(文件1);
String data = null;
while((data = br.readLine())!=null){
table.put(data,0);
}
} catch (IOException e1) {
e1.printStackTrace();
}
Cigen PP = new Cigen();
...
BufferedReader sr1 = new BufferedReader(文件2);
StringBuffer a = new StringBuffer();
String c=null;
while((c=sr1.readLine())!=null) {
a.append(c);
}
String content2 = a.toString();
...
BufferedWriter dos = new BufferedWriter(文件3);
String d = PP.splitWords(content2);
dos.write(d);这是77行
dos.flush();
dos.close();
System.out.println(d);
sr1.close();
}
} 展开
at ali.Cigen.main(Cigen.java:77)
public class Cigen
{
static Hashtable<String,Integer> table = new Hashtable<String,Integer>();
public String splitWords(String sentence)
{
String returnwords = null;
String word = null;
int n = sentence.length();
int m = 7;
boolean BFind = false;
try{....省略
catch (Exception e)
{
System.out.println(e.toString());
}
return returnwords;
}
public static void main(String[] args) throws IOException
{
try {
...
BufferedReader br = new BufferedReader(文件1);
String data = null;
while((data = br.readLine())!=null){
table.put(data,0);
}
} catch (IOException e1) {
e1.printStackTrace();
}
Cigen PP = new Cigen();
...
BufferedReader sr1 = new BufferedReader(文件2);
StringBuffer a = new StringBuffer();
String c=null;
while((c=sr1.readLine())!=null) {
a.append(c);
}
String content2 = a.toString();
...
BufferedWriter dos = new BufferedWriter(文件3);
String d = PP.splitWords(content2);
dos.write(d);这是77行
dos.flush();
dos.close();
System.out.println(d);
sr1.close();
}
} 展开
4个回答
展开全部
空指针说明被写入对象不存在,仔细检查你的代码,看初始化是不是没做好,debug调试最好自己做,别什么都这么问,很多问题都是因为粗心造成的
追问
我查过原因就说空指针,赋值问题,但我java不行,检查不出来,又比较着急才问的,我都各种修改n次了已经
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你使用myeclipse编译器,请设置jdk后再编译
追问
我用的eclipse,也需要什么设置吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-10-19
展开全部
文件3 不存在吧?
追问
文本文件3是我要把结果输出的啊 问题是要怎么改
追答
通常用bufferedwriter这么用
File out = new File("D:/redsun/groupinfo.txt");
BufferedWriter dos = new BufferedWriter(new FileWriter(out));
也就是说bufferedwriter的构造方法不允许你那种构造方式
以下是API
BufferedWriter(Writer out)
Creates a buffered character-output stream that uses a default-sized output buffer.
BufferedWriter(Writer out, int sz)
Creates a new buffered character-output stream that uses an output buffer of the given size.
你的那个方法文件3是什么?不符合API
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
77行是哪行
追问
倒数第七行 我用中文标了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询