作者miyuika (Challenge!)
看板java
标题Re: [问题] 用socket做档案传输的档案大小问题...
时间Sat Jun 21 14:04:05 2008
对於档案的传输方式还是不大懂
例如我用
FileInputStream fi=new FileInputStream("c:\\Tranfile\\2nd03_04_1280.jpg");
System.out.println("传送之档案大小为:"+fi.available()+"bytes");
byte data[]=new byte[fi.available()];
fi.read(data);
读档案到阵列里面
我要怎麽样把它分批传给server呢 囧"""
还是不会阿阿~(哭
※ 引述《chchwy (mat)》之铭言:
: 没人在用超大阵列的啦....都马分批送
: 简单概念
: 先取得档案大小 fileSize
: while(fileSize>0){
: //从档案读512 bytes
: //实际上读了n bytes
: //n bytes写进Socket
: fileSize -= n;
: }
: 接收端动作反过来就好了
: ==
: 米油姐XD
: ※ 引述《miyuika (Challenge!)》之铭言:
: : 最近在研究用socket作档案传输(我是初学者~冏
: : 可做到Server跟Client间,二进位档案上传下载(用FileOutputStream)
: : 但因为byte阵列大小限制在65536,
: : 档案只做一次传输, 变成说传送之档案大小不能超过65536bytes
: : 该如何解决呢? 多传几次吗?可是怎麽做续传呢 @@?
: : 请高人帮忙解惑 orz thx! ^^
--
◤
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ╱╲ ★
| ◣ ◣ ◣ ◢ ◣ ◢ ╱ ╲
| ■
◣ ◢
◣ ◥
◣◢◤
■ ■╱ ╲
| ■◥
◣◢
◤■ ■ ■ ■ ■
 ̄|˙ ˙| ̄
| ■ ■ . ■ ˙
■ ● ◥◣◢
◤﹌>︽︽<﹌
http://album.blog.yam.com/miyuika
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.65.164
※ 编辑: miyuika 来自: 123.193.65.164 (06/21 14:11)
1F:推 tkcn:你的档案如果有个几百 mb 这样的方法就不能用了 06/21 14:11
2F:→ miyuika:那要怎麽办勒 orz 06/21 14:11
3F:→ tkcn:上一篇就是解答了,不然找个 tutorial 来看吧 06/21 14:13
※ 编辑: miyuika 来自: 123.193.65.164 (06/21 14:13)
4F:→ miyuika:说真的是...概念看不懂...冏" 我手边只有很基础的java书XD 06/21 14:14
5F:→ miyuika:tutorial ... 是什麽 ( ̄▽ ̄|||) 引导教学? 06/21 14:18
6F:推 tkcn:好像翻译成导览吧 06/21 14:21
7F:→ miyuika:n bytes写进Socket ←这个写进socket是什麽意思... 06/21 14:22
8F:→ miyuika:因为我之前是用byte阵列buff的内容直接写入档案 06/21 14:25
9F:→ miyuika:要怎麽把档案分批写入输出串流中呢?...不懂 orz 06/21 14:31
10F:→ miyuika:又要怎麽样把传送过来的buffer分批写入档案呢 囧 06/21 14:34
11F:→ miyuika:我大概知道了 是用 fo.write(byte,int off,int len); 嘛? 06/21 14:40
12F:→ miyuika:好八,自己再试试看 orz 感谢各位的回应 06/21 14:42
13F:推 tkcn:先看看 API 有哪些方法可以用,再想想看怎麽组合出你要的功能 06/21 14:43