rt
如果是单个java文件我可以用
FileInputStream fis = new FileInputStream("D:/a.jpg");
FileOutputStream fos = new FileOutputStream("D:/d.jpg"); byte[] bs = new byte[1024];
int len = -1; while ((len = fis.read(bs)) != -1) {
fos.write(bs);
}
fos.close();
fis.close();
这样拷贝到另一个文件中
但现在要求在服务器和客户端之间 而且服务器和客户端之间用ByteBuffer在传递 不是用fileinput/outputStream
也就是先客户端命令行中输入D:/a.jpg,得到a.jpg并转化成bytes 再把bytes写进ByteBuffer,在服务器从ByteBuffer中拿到bytes然后写入d.jpg
我想是不是把FileInputStream fis = new FileInputStream("D:/a.jpg");
和FileOutputStream fos = new FileOutputStream("D:/d.jpg");分别放到客户端和服务器 然后把stream转成bytes写进bytebuffer 但最后服务器拿到的jpg只有1KB而且打不开 好象我定义buffer的size也不对 有时侯1024有错
我想思路应该和单个JAVA文件中的拷贝是一样的 但为什么不行?谢谢了!!!!!!
如果是单个java文件我可以用
FileInputStream fis = new FileInputStream("D:/a.jpg");
FileOutputStream fos = new FileOutputStream("D:/d.jpg"); byte[] bs = new byte[1024];
int len = -1; while ((len = fis.read(bs)) != -1) {
fos.write(bs);
}
fos.close();
fis.close();
这样拷贝到另一个文件中
但现在要求在服务器和客户端之间 而且服务器和客户端之间用ByteBuffer在传递 不是用fileinput/outputStream
也就是先客户端命令行中输入D:/a.jpg,得到a.jpg并转化成bytes 再把bytes写进ByteBuffer,在服务器从ByteBuffer中拿到bytes然后写入d.jpg
我想是不是把FileInputStream fis = new FileInputStream("D:/a.jpg");
和FileOutputStream fos = new FileOutputStream("D:/d.jpg");分别放到客户端和服务器 然后把stream转成bytes写进bytebuffer 但最后服务器拿到的jpg只有1KB而且打不开 好象我定义buffer的size也不对 有时侯1024有错
我想思路应该和单个JAVA文件中的拷贝是一样的 但为什么不行?谢谢了!!!!!!
现在问题在bytebuffer那里