Scala:输入和输出


1.从控制台输入:

 

 另外还有很多中方法供选择

 

 

2.从文件中输入

  2.1绝对路径

 

   2.2相对路径:一定要注意i相对路径是相对于整个项目project的路径而不是module

 

 

  注意最后一定要把Source关闭

 

 2.文件的输出

 

 

 

 3.网络的交互

  

 1 package com.me.scala
 2 
 3 import java.io.OutputStream
 4 import java.net.Socket
 5 
 6 /**
 7  * @author sbr    
 8  * @create 2020-11-17 14:56
 9  */
10 object NetIOClient {
11 
12   def main(args: Array[String]): Unit = {
13 
14     //连接服务器
15     val client=new Socket("localhost",9999)
16     //向服务器发送数据
17     println("连接服务器成功,等待发送数据.....")
18     val stream: OutputStream = client.getOutputStream
19 
20     stream.write(1)
21     stream.flush()
22     println("发送数据成功!")
23     //发送完毕后关闭客户端
24     client.close()
25   }
26 }
NetIOClient.scala
 1 package com.me.scala
 2 
 3 import java.io.InputStream
 4 import java.net.{ServerSocket, Socket}
 5 
 6 /**
 7  * @author sbr    
 8  * @create 2020-11-17 14:55
 9  */
10 object NetIOServer {
11   def main(args: Array[String]): Unit = {
12 
13     val server =new ServerSocket(9999)
14     println("服务已经启动......等待客户端的链接")
15     //accept方法如果没有客户端的链接,就一直处于阻塞状态,直到连接为止
16     var client:Socket=server.accept()
17     val stream: InputStream = client.getInputStream
18     val i: Int = stream.read()
19     println(i)
20   }
21 }
NetIOServer.scala

分别运行server和client结果如图

 

如果想要发送的是对象,那么需要使用对象输入输出流,并将对象序列化

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM