189 8069 5689

Scala中如何实现文件读取、写入、控制台操作

这篇文章主要介绍了Scala中如何实现文件读取、写入、控制台操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联公司是一家专业提供友谊企业网站建设,专注与网站建设、成都做网站、H5场景定制、小程序制作等业务。10年已为友谊众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

Scala文件读取

E盘根目录下scalaIO.txt文件内容如下:

Scala中如何实现文件读取、写入、控制台操作

文件读取示例代码:

 //文件读取
 val file=Source.fromFile("E:\\scalaIO.txt")
 for(line <- file.getLines)
 {
  println(line)
 }
 file.close

Scala中如何实现文件读取、写入、控制台操作

说明1:file=Source.fromFile(“E:\scalaIO.txt”),其中Source中的fromFile()方法源自 import scala.io.Source源码包,源码如下图:

Scala中如何实现文件读取、写入、控制台操作

file.getLines(),返回的是一个迭代器-Iterator;源码如下:(scala.io)

Scala中如何实现文件读取、写入、控制台操作

Scala 网络资源读取

 //网络资源读取
 val webFile=Source.fromURL("http://spark.apache.org")
 webFile.foreach(print)
 webFile.close()

fromURL()方法源码如下:

 /** same as fromURL(new URL(s))
 */
 def fromURL(s: String)(implicit codec: Codec): BufferedSource =
 fromURL(new URL(s))(codec)

读取的网络资源资源内容如下:




 
 
 

 
  Apache Spark™ - Lightning-Fast Cluster Computing

 




 


 
 
 

 
 
 var _gaq = _gaq || [];
 _gaq.push(['_setAccount', 'UA-32518208-2']);
 _gaq.push(['_trackPageview']);
 (function() {
 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();

 
 function trackOutboundLink(link, category, action) {
 try {
  _gaq.push(['_trackEvent', category , action]);
 } catch(err){}

 setTimeout(function() {
  document.location.href = link.href;
 }, 100);
 }
 

 
 













 
  
  
   Lightning-fast cluster computing
  
 

        Toggle navigation             
        
  • Download
  •          Libraries           
  • SQL and DataFrames
  •    
  • Spark Streaming
  •    
  • MLlib (machine learning)
  •    
  • GraphX (graph)
  •        
  • Third-Party Packages
  •                Documentation           
  • Latest Release (Spark 1.5.1)
  •    
  • Other Resources
  •         
  • Examples
  •          Community           
  • Mailing Lists
  •    
  • Events and Meetups
  •    
  • Project History
  •    
  • Powered By
  •    
  • Project Committers
  •    
  • Issue Tracker
  •         
  • FAQ
  •    
            
    Latest News
          
  • Submission is open for Spark Summit East 2016    (Oct 14, 2015)
  •    
  • Spark 1.5.1 released    (Oct 02, 2015)
  •    
  • Spark 1.5.0 released    (Sep 09, 2015)
  •    
  • Spark Summit Europe agenda posted    (Sep 07, 2015)
  •      Archive

             Download Spark         Built-in Libraries:   

         
  • SQL and DataFrames
  •   
  • Spark Streaming
  •   
  • MLlib (machine learning)
  •   
  • GraphX (graph)
  •      Third-Party Packages          Apache Spark™ is a fast and general engine for large-scale data processing.    

    Speed

        Run programs up to 100x faster than   Hadoop MapReduce in memory, or 10x faster on disk.  

     

      Spark has an advanced DAG execution engine that supports cyclic data flow and   in-memory computing.  

               Logistic regression in Hadoop and Spark        

    Ease of Use

        Write applications quickly in Java, Scala, Python, R.  

     

      Spark offers over 80 high-level operators that make it easy to build parallel apps.   And you can use it interactively   from the Scala, Python and R shells.  

               text_file = spark.textFile("hdfs://...")       text_file.flatMap(lambda line: line.split())       .map(lambda word: (word, 1))       .reduceByKey(lambda a, b: a+b)      Word count in Spark's Python API            

    Generality

        Combine SQL, streaming, and complex analytics.  

     

      Spark powers a stack of libraries including   SQL and DataFrames, MLlib for machine learning,   GraphX, and Spark Streaming.   You can combine these libraries seamlessly in the same application.  

                               

    Runs Everywhere

        Spark runs on Hadoop, Mesos, standalone, or in the cloud. It can access diverse data sources including HDFS, Cassandra, HBase, and S3.  

     

      You can run Spark using its standalone cluster mode, on EC2, on Hadoop YARN, or on Apache Mesos.   Access data in HDFS, Cassandra, HBase,   Hive, Tachyon, and any Hadoop data source.  

                 

    Community

     

      Spark is used at a wide range of organizations to process large datasets.   You can find example use cases at the Spark Summit   conference, or on the   Powered By   page.  

     

      There are many ways to reach the community:  

        
  • Use the mailing lists to ask questions.
  •   
  • In-person events include the Bay Area Spark meetup and   Spark Summit.
  •   
  • We use JIRA for issue tracking.
  •        

    Contributors

     

      Apache Spark is built by a wide set of developers from over 200 companies.   Since 2009, more than 800 developers have contributed to Spark!  

     

      The project's   committers   come from 16 organizations.  

     

      If you'd like to participate in Spark, or contribute to the libraries on top of it, learn   how to   contribute.  

         

    Getting Started

     

    Learning Spark is easy whether you come from a Java or Python background:

        
  • Download the latest release — you can run Spark locally on your laptop.
  •   
  • Read the quick start guide.
  •   
  •   Spark Summit 2014 contained free training videos and exercises.   
  •   
  • Learn how to deploy Spark on a cluster.
  •        Download Spark    
     Apache Spark, Spark, Apache, and the Spark logo are trademarks of  The Apache Software Foundation. Process finished with exit code 0
     //网络资源读取
     val webFile=Source.fromURL("http://www.baidu.com/")
     webFile.foreach(print)
     webFile.close()

    读取中文资源站点,出现编码混乱问题如下:(解决办法自行解决,本文不是重点)

    Exception in thread "main" java.nio.charset.MalformedInputException: Input length = 1

    感谢你能够认真阅读完这篇文章,希望小编分享的“Scala中如何实现文件读取、写入、控制台操作”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


    本文标题:Scala中如何实现文件读取、写入、控制台操作
    网站网址:http://cdxtjz.cn/article/gpcdhg.html

    联系我们

    您好HELLO!
    感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
    • 电话:028- 86922220 18980695689
    • 商务合作邮箱:631063699@qq.com
    • 合作QQ: 532337155
    • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

    小谭建站工作室

    成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

    小谭观点

    相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
    我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。