1

您好,我是 Scala 新手。我试过这段代码

def web ( url : Any) {
     | val ur= new URL("url")
     | val content=fromInputStream(ur.openStream).getLines.mkString("\n")
     | print(content)
     | } 

当我传递一个像 web(" http://contentexplore.com/iphone-6-amazing-looks/ ") 这样的网址时,它显示错误

java.net.MalformedURLException: no protocol: url
    at java.net.URL.<init>(URL.java:585)
    at java.net.URL.<init>(URL.java:482)
    at java.net.URL.<init>(URL.java:431)
    at .web(<console>:22)
    at .<init>(<console>:23)
    at .<clinit>(<console>)
    at .<init>(<console>:11)
    at .<clinit>(<console>)
    at $print(<console>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:704)
    at scala.tools.nsc.interpreter.IMain$Request$$anonfun$14.apply(IMain.scala:920)
    at scala.tools.nsc.interpreter.Line$$anonfun$1.apply$mcV$sp(Line.scala:43)
    at scala.tools.nsc.io.package$$anon$2.run(package.scala:25)
    at java.lang.Thread.run(Thread.java:722)

我的问题是如何在 scala 中明确传递一个 url。请给我一个想法。在此先感谢

4

1 回答 1

0

正如评论中提到的,这一行是问题所在:

val ur= new URL("url")

如果你想URL从输入参数创建一个url,代码应该是:

val ur= new URL(url)

出现错误时,javaURL类试图String用 value解析 a "url",首先寻找可识别的协议(http,https等...)但没有找到,所以这就是您看到该错误的原因。

于 2013-05-26T12:01:03.920 回答