您好我是Scala的新手。我试过这段代码
def web ( url : Any) {
| val ur= new URL("url")
| val content=fromInputStream(ur.openStream).getLines.mkString("\n")
| print(content)
| }
当我传递网址(“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。请建议我一个想法。谢谢提前
答案 0 :(得分:0)
如评论中所述,这一行是问题所在:
val ur= new URL("url")
如果您想从输入参数URL
创建url
,则代码应为:
val ur= new URL(url)
有了这个错误,java URL
类试图解析值为String
的{{1}},首先查找已识别的协议("url"
,{{1}等等...而没有找到一个,这就是你看到错误的原因。