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 }
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 }
分别运行server和client结果如图
如果想要发送的是对象,那么需要使用对象输入输出流,并将对象序列化