Java 为什么我';我得到一个“a”;找不到符号“;错误

Java 为什么我';我得到一个“a”;找不到符号“;错误,java,Java,我试图创建一个从URL获取源代码的类。我不明白为什么在这行上出现“找不到符号错误”: catch(格式错误的异常e) 如果有人能解释出问题所在,那就太好了……谢谢 这是我的全部代码: import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.net.MalformedURLException; p

我试图创建一个从URL获取源代码的类。我不明白为什么在这行上出现“找不到符号错误”:

catch(格式错误的异常e)

如果有人能解释出问题所在,那就太好了……谢谢

这是我的全部代码:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.net.MalformedURLException;

public class SourceCode
{
private String source;
public SourceCode(String url)
{
    try
    {
        URL page = new URL(url);
        this.source = getSource(page);
    }
    catch (MalformedURLException e)
    {
        e.printStackTrace();
    }
}

public String getSource(URL url) throws Exception
{

        URLConnection spoof = url.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(spoof.getInputStream()));
        String strLine = "";

        spoof.setRequestProperty( "User-Agent", "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; H010818)" );


        while ((strLine = in.readLine()) != null)
        {
            strLine = strLine + "\n";
        }
        return strLine;
}

}此代码存在多个问题

  • 您缺少对
    java.net.MalformedURLException
  • getSource()
    没有返回任何内容,您需要从该方法返回一个字符串
  • 开始从源代码读取后,您正在设置
    spoof.setRequestProperty
  • 您的构造函数将忽略异常,而不是将其抛出
  • 源没有getter
  • 导入java.io.BufferedReader;
    导入java.io.IOException;
    导入java.io.InputStreamReader;
    导入java.net.URL;
    导入java.net.URLConnection;
    公共类源代码{
    私有字符串源;
    公共源代码(URL pageURL)引发IOException{
    this.source=getSource(pageURL);
    }
    公共字符串getSource(){
    返回源;
    }
    私有字符串getSource(URL)引发IOException{
    URLConnection spoof=url.openConnection();
    StringBuffer sb=新的StringBuffer();
    setRequestProperty(“用户代理”、“Mozilla/4.0(兼容;MSIE 5.5;Windows NT 5.0;H010818)”);
    BufferedReader in=新的BufferedReader(新的InputStreamReader(spoof.getInputStream());
    字符串strLine=“”;
    而((strLine=in.readLine())!=null){
    附加某人(斯特林);
    }
    使某人返回字符串();
    }
    公共静态void main(字符串[]args)引发IOException{
    源代码s=新源代码(新URL(“https://www.google.co.in/"));
    System.out.println(s.getSource());
    }
    }
    
    此代码存在多个问题

  • 您缺少对
    java.net.MalformedURLException
  • getSource()
    没有返回任何内容,您需要从该方法返回一个字符串
  • 开始从源代码读取后,您正在设置
    spoof.setRequestProperty
  • 您的构造函数将忽略异常,而不是将其抛出
  • 源没有getter
  • 导入java.io.BufferedReader;
    导入java.io.IOException;
    导入java.io.InputStreamReader;
    导入java.net.URL;
    导入java.net.URLConnection;
    公共类源代码{
    私有字符串源;
    公共源代码(URL pageURL)引发IOException{
    this.source=getSource(pageURL);
    }
    公共字符串getSource(){
    返回源;
    }
    私有字符串getSource(URL)引发IOException{
    URLConnection spoof=url.openConnection();
    StringBuffer sb=新的StringBuffer();
    setRequestProperty(“用户代理”、“Mozilla/4.0(兼容;MSIE 5.5;Windows NT 5.0;H010818)”);
    BufferedReader in=新的BufferedReader(新的InputStreamReader(spoof.getInputStream());
    字符串strLine=“”;
    而((strLine=in.readLine())!=null){
    附加某人(斯特林);
    }
    使某人返回字符串();
    }
    公共静态void main(字符串[]args)引发IOException{
    源代码s=新源代码(新URL(“https://www.google.co.in/"));
    System.out.println(s.getSource());
    }
    }
    
    您需要导入
    java.net.MalformedURLException
    拼写错误…您需要导入
    java.net.MalformedURLException
    拼写错误…非常感谢您的帮助!谢谢你帮了我很多忙!