java网络编程TCP传输—流操作—拿到源后的写入动作
来源:互联网 发布:猪八戒那个是什么软件 编辑:程序博客网 时间:2024/04/29 08:27
在网络编程中的TCP传输里,拿到Socket的源后,应该怎么进行读写操作呢,下面我列举了两种方法,希望大家帮忙补充····
1.利用byte数组作为一个缓冲区进行读写
客户端上传
1 //获取socket流,将图片上传给服务端 2 FileInputStream fis=new FileInputStream("c:\\12.jpg"); 3 4 //获取了输出流 5 OutputStream out=s.getOutputStream(); 6 7 //用数组作为缓冲 8 byte[]buf=new byte[1024]; 9 10 //len用来记录长度11 int len=0;12 13 //循环读写14 while((len=fis.read(buf))!=-1){15 //当返回-1时表示读完毕,此时len为总长度16 out.write(buf,0,len);17 }
//服务端接收时
1 InputStream in=s.getInputStream(); 2 File dir=new File("c:\\pic"); 3 if(!dir.exists()){ 4 dir.mkdirs(); 5 } 6 FileOutputStream fos=new FileOutputStream("server.jpg"); 7 byte[] buf=new byte[1024]; 8 int len=0; 9 while((len=in.read())!=-1){10 fos.write(buf,0,len);11 }12
服务端接收(不需要写入文件中时)
1 byte [] buf=new byte[1024];2 //此时只需要或取长度就可以了3 int len=in.read(buf);4 //直接用数组获取文本就可以了5 String text=new String(buf,0,len);
2.使用缓冲区作为缓冲
1 //客户端上传
//使用流输出数据
BufferedReader bufr=new BufferedReader(new FileReader("client.txt")); 2 3 //通过使用PrintWriter对字节流和字符流进行处理,接管流 4 PrintWriter out =new PrintWriter(s.getOutputStream(),true); 5 6 //开始读取,上传给服务端 7 String line=null; 8 while((line=bufr.readLine())!=null){ 9 out.println(line);10 }
1 //服务端接收
//将接收的数据放入流中 2 BufferedReader bufIn= 3 new BufferedReader(new InputStreamReader(s.getInputStream())); 4 5 //指定要写入得文件 6 BufferedWriter bufw=new BufferedWriter(new FileWriter("server.txt")); 7 8 //开始读取 9 //缓冲区的默认大小为8k,一到8k则会自动刷新,若没有结束标志,则得到的文件大小一定是8的倍数10 String line=null;11 while((line=bufIn.readLine())!=null){12 if("over".equals(line))13 break;14 bufw.write(line);15 bufw.newLine();16 //自己写刷新17 bufw.flush();18 }19
阅读全文
0 0
- java网络编程TCP传输—流操作—拿到源后的写入动作
- java网络编程TCP传输—流操作—服务端反馈与客户端接收
- Java-网络编程(TCP传输)
- java 网络编程 基于TCP ,UDP的网络传输
- Java基础—网络编程【OSI/RM TCP/IP】【网络通信三要素】【UDP传输 & TCP传输】【DNS域名解析】
- Java基础—网络编程【OSI/RM TCP/IP】【网络通信三要素】【UDP传输 & TCP传输】【DNS域名解析】
- Java基础—网络编程【OSI/RM TCP/IP】【网络通信三要素】【UDP传输 & TCP传输】【DNS域名解析】
- JAVA 网络编程(TCP传输1)
- JAVA 网络编程(TCP传输2)
- Java-网络编程(TCP传输2)
- 网络编程--tcp传输
- 黑马程序员——java网络编程中的传输协议:UDP和TCP
- 黑马程序员——网络编程(TCP传输)
- 黑马程序员——网络编程之TCP传输
- Unix网络编程—传输层:TCP和UDP
- Java网络编程——基于TCP的Socket编程
- 黑马程序员_java网络编程——UDP传输和TCP传输
- Java网络编程之传输控制协议TCP(三)
- Windows10下金蝶专业版中文输入乱码问题
- 前端开发中常遇到的浏览器兼容问题小结
- Java将数据写入csv文件使用FTP上传
- 2017CCPC秦皇岛站 M.Safest Buildings
- 用java网络编程中的TCP方式上传文本文件及出现的小问题
- java网络编程TCP传输—流操作—拿到源后的写入动作
- java网络编程TCP传输—流操作—服务端反馈与客户端接收
- java网络编程客户端与服务端原理以及用URL解析HTTP协议
- 浅谈java使用指定字符集编码,以及常见的字符集
- 如何在win10(64位系统)上安装apache服务器
- Android使用Http协议访问网络——HttpConnection
- Android常见问题——找不到HttpClient和okHttp的包
- Android常见问题——Genymotion无法启动问题
- webService快速入门入门系列《6》----cfx框架集成spring