Java NoClassDefFoundError
这里我下载了一个网页源代码,然后将其存储在文本文件中。然后我读取该文件并将其与正则表达式匹配以搜索特定字符串 没有编译器错误Java NoClassDefFoundError,java,regex,Java,Regex,这里我下载了一个网页源代码,然后将其存储在文本文件中。然后我读取该文件并将其与正则表达式匹配以搜索特定字符串 没有编译器错误 Exception in thread "main" java.lang.NoClassDefFoundError: java/lang/CharSequence 谁能告诉我哪里错了 java version "1.3.1_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01) Java
Exception in thread "main" java.lang.NoClassDefFoundError: java/lang/CharSequence
谁能告诉我哪里错了
java version "1.3.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01)
Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)
import java.io.*;
导入java.net。*;
导入java.lang.*;
导入java.util.regex.Matcher;
导入java.util.regex.Pattern;
公共类网络下载
{
公共网站()
{
试一试{
URL=newURL(“www.gmail.com”);//可以给出任何URL
URLConnection urlc=url.openConnection();
BufferedInputStream buffer=新的BufferedInputStream(urlc.getInputStream());
StringBuffer builder=新的StringBuffer();
内特比德;
FileOutputStream-fout;
StringBuffer contentBuf=新的StringBuffer();
而((byteRead=buffer.read())!=-1)
{
builder.append((char)byteRead);
fout=新文件输出流(“myfile3.txt”);
新的PrintStream(fout.println(builder.toString());
fout.close();
}
BufferedReader in=new BufferedReader(new FileReader(“myfile3.txt”);
字符串buf=null;
而((buf=in.readLine())!=null){
contentBuf.append(buf);contentBuf.append(“\n”);
}
in.close();
Pattern p=Pattern.compile(([^来自API::java.lang.NoClassDefFoundError-如果java虚拟机或类加载器实例尝试加载类的定义(作为普通方法调用的一部分或使用新表达式创建新实例的一部分),并且找不到该类的定义,则引发该错误
听起来你要么缺少所需的库,要么它们不在你的道路上。我会先检查一下
另外,请检查JAVA_HOME\lib中正在导入的类。来自API::JAVA.lang.NoClassDefFoundError-如果JAVA虚拟机或ClassLoader实例试图加载类的定义(作为普通方法调用的一部分或使用新表达式创建新实例的一部分),则会引发此错误并且找不到该类的定义
听起来你要么缺少所需的库,要么它们不在你的道路上。我会先检查一下
另外,请检查JAVA_HOME\lib中正在导入的类。是否使用1.3 JVM来执行代码?如果代码是以1.3兼容性(或更低)编译的,这将解释错误,但针对1.4或更高版本的JRE库。您是否可能使用1.3 JVM来执行代码?如果代码是以1.3兼容(或更低版本)编译的,但针对1.4或更高版本的JRE库,这可以解释错误。看起来您的应用程序正在使用java 1.3运行。您可以键入java-version
并粘贴输出吗?
你是在什么操作系统上运行的?你是如何运行你的应用程序的?看起来你的应用程序是用java 1.3运行的。你能键入java-version
并粘贴输出吗?
您使用的是什么操作系统?您如何运行应用程序?请注意,您通常可以参考javadoc来确定您正在使用的Java版本中是否有可用的API。例如,状态“自:1.4”
我通常会保留一个指向易于访问的API的链接。注意,您通常可以参考javadoc来确定您正在使用的Java版本中是否有可用的API。例如,状态“自:1.4”
我通常会保留一个指向易于访问的链接。该接口仅在Java 1.4之后存在,但您正在运行Java 1.3。该接口由您在代码中使用的StringBuffer
类使用。Java的当前版本是Java 6-如果可以,我建议您进行更新。该接口仅在从Java 1.4开始,但您正在运行Java 1.3。此接口由您在代码中使用的StringBuffer
类使用。Java的当前版本是Java 6-如果可以,我建议您进行更新。听起来运行时的版本低于您编译的版本。听起来运行时的版本低于w你所反对的。
import java.io.*;
import java.net.*;
import java.lang.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class WebDownload
{
public void getWebsite()
{
try{
URL url=new URL("www.gmail.com");// any URL can be given
URLConnection urlc=url.openConnection();
BufferedInputStream buffer=new BufferedInputStream(urlc.getInputStream());
StringBuffer builder=new StringBuffer();
int byteRead;
FileOutputStream fout;
StringBuffer contentBuf = new StringBuffer();
while((byteRead=buffer.read()) !=-1)
{
builder.append((char)byteRead);
fout = new FileOutputStream ("myfile3.txt");
new PrintStream(fout).println (builder.toString());
fout.close();
}
BufferedReader in = new BufferedReader(new FileReader("myfile3.txt"));
String buf = null;
while ((buf = in.readLine()) != null) {
contentBuf.append(buf);contentBuf.append("\n");
}
in.close();
Pattern p = Pattern.compile("<div class=\"summarycount\">([^<]*)</div>");
Matcher matcher = p.matcher(contentBuf);
if(matcher.find())
{
System.out.println(matcher.group(1));
}
else
System.out.println("could not find");
}
catch(MalformedURLException ex) {
ex.printStackTrace();
}
catch(IOException ex){
ex.printStackTrace();
}
}
public static void main(String [] args)
{
WebDownload web=new WebDownload();
web.getWebsite();
}
}