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結果如圖
如果想要發送的是對象,那么需要使用對象輸入輸出流,並將對象序列化