「java图片传送」java图片导入
今天给各位分享java图片传送的知识,其中也会对java图片导入进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java Socket传送多张图片
- 2、java如何实现客户端向服务器端传送一个图片的代码,详细一点,最好能有注释,新手求解
- 3、java如何传输动态图片(GIF图片)?
- 4、Java:为什么传输图片是常用base64字符串转码,而不是直接传输byte[]呢?求解
- 5、java怎么把图片和文字分开发送到后端
- 6、java后台怎么把数据库二进制图片传到前台显示?
java Socket传送多张图片
楼主的程序想实现怎样的功能呢?
服务器发送5张图片到客户端?
你的程序的发送端把5张图片合并到了一个输出流传给客户端,客户端没有办法把一个输入流中的数据分成5张图片。
接收端程序上的问题:
ByteArrayOutputStream bout=new ByteArrayOutputStream();和byte[] b=new byte[1024];都在循环外定义,在执行第一次循环时while((length=in.read(b))!=-1)这个循环把数据都读到了bout中,后面的循环都是(length=in.read(b))==-1的,不会再从输入流中读数据,而是直接使用第一次循环已经读出的数据,所以图片都是一样的。
java如何实现客户端向服务器端传送一个图片的代码,详细一点,最好能有注释,新手求解
public class SocketTest extends Thread {
private Socket so;
private DataInputStream in;
public static void main(String[] args) {
SocketTest app = new SocketTest();
app.startup();
}
public void startup() {
try {
// 创建服务端socket对象并指定监听端口
ServerSocket ss = new ServerSocket(9999);
System.out.println("listening...");
// 等待客户端连接
so = ss.accept();
System.out.println("connected");
// 开始读取数据
start();
} catch (Exception e) {
e.printStackTrace();
}
}
public void run() {
try {
// 创建socket输入流
in = new DataInputStream(so.getInputStream());
while (true) {
try {
// 定义接收缓冲区(64字节)
byte[] buf = new byte[64];
// 将数据读到接收缓冲区中,并返回实际读到的数据长度
int len = in.read(buf, 0, 64);
// 长度为-1说明到达输入流末尾,socket已关闭
if (len 1) {
System.out.println("closed");
break;
}
System.out.println("(" + len + ")");
} catch (Exception e) {
// 读数据异常
e.printStackTrace();
}
}
} catch (Exception e) {
// 监听异常
e.printStackTrace();
}
}
}
java如何传输动态图片(GIF图片)?
实现思路:无论是何种类型,都是转换为流的形式进行的文件传输和存储。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定义一个流
try {
String file = "D:/test/test.GIF";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/New.GIF”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.GIF”实例
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
pw.write(str);//将要写入文件的内容,可以多次write
};
bre.close();
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
Java:为什么传输图片是常用base64字符串转码,而不是直接传输byte[]呢?求解
先说说base64吧:对于图片来说,一个字节占八位,如果都换成byte[]的话,会很长,不便于传输,那么就把没6个字节来对应一个新的字符(如010011是19,对应base64编码的T),,所以这个目的主要是精简数据,便于传输;
另外常用的用途是:做不严格的加密用,比如常见的磁力链接,你懂的;因为它相对于严格加密省时省力,速度快,况且可恢复(如果用MD5就不行)
java怎么把图片和文字分开发送到后端
java把图片和文字分开发送到后端方法:
1、在eclipse中创建一个web工程项目,在lib文件夹中添加文件上传需要用到的组件common-io和uploadfile。
2、编辑好FileUploadServlet,java文件后,在web.xml文件中配置映射路径。
3、点击浏览,选择要上传的图片。选择后会显示图片所在的路径。点击提交。
java后台怎么把数据库二进制图片传到前台显示?
两种思路,一种是你把图片下下来。告诉路径给前端。
另一种是你直接把图片转换成byte数组,返回给前端。前端是可以有办法的。(我用过这种用来爬虫爬
验证码
都是这么干的)
望采纳
java图片传送的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java图片导入、java图片传送的信息别忘了在本站进行查找喔。