A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张明 中级黑马   /  2012-10-22 23:40  /  1427 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. //客户端代码
  2. public class Demo1Client {
  3. public static void main(String[] args) throws IOException {
  4. Socket s = new Socket(InetAddress.getByName("127.0.0.1"), 10086);
  5. OutputStream os = s.getOutputStream();
  6. FileInputStream fis = new FileInputStream(
  7. "D:\\workspace\\day25_HomeWork\\aaa\\MrOCC.jpg");
  8. byte[] bys = new byte[1024];
  9. int len = 0;
  10. while ((len = fis.read(bys)) != -1) {
  11. os.write(bys, 0, len);
  12. }
  13. fis.close();
  14. s.close();
  15. }
  16. }
复制代码
  1. //服务器端
  2. public class Demo1Server {
  3. public static void main(String[] args) throws IOException {
  4. ServerSocket ss = new ServerSocket(10086);
  5. Socket s = ss.accept();
  6. InputStream is = s.getInputStream();

  7. FileOutputStream fos = new FileOutputStream(
  8. "D:\\workspace\\day25_HomeWork\\bbb\\MrOCC.jpg");

  9. byte[] bys = new byte[1024];
  10. int len = is.read(bys);
  11. while ((len = is.read(bys)) != -1) {
  12. fos.write(bys, 0, len);
  13. }
  14. fos.close();
  15. s.close();
  16. ss.close();
  17. }
  18. }
复制代码
直接复制的代码,导包省了,我的思路就是首先图片要转成字节流,字节流上传到服务器端,服务器收到了将直接流写会文件
我现在的代码不成功,自己改了改后有时图片只有部分显示,这说明上传是没问题了,是不是读写出错了?
大家帮忙看看吧

评分

参与人数 1技术分 +1 收起 理由
杨志 + 1 神马都是浮云

查看全部评分

1 个回复

倒序浏览
int len = is.read(bys); //去掉这一行的read,因为下面已经read过了
while ((len = is.read(bys)) != -1) {

int len = 0;
while ((len = is.read(bys)) != -1) {
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马