ajax如何异步向后台获取字节流数据

ajax如何异步向后台获取字节流数据,第1张

你是说向后台发送还是从后台获取?

首先ajax不能发送字节数据,如果要通过ajax获取的是的话,可以将数据进行base64编码,转成字符串再传输。浏览器可以直接使用这些数据显示的(IE6、7除外,IE8有限制)

使用java poi

package webservice;

import javaioFileInputStream;

import javaioFileNotFoundException;

import javaioFileOutputStream;

import javaioIOException;

import orgapachepoihssfusermodelHSSFCell;

import orgapachepoihssfusermodelHSSFRow;

import orgapachepoihssfusermodelHSSFSheet;

import orgapachepoihssfusermodelHSSFWorkbook;

public class ExcelController {

@SuppressWarnings("deprecation")

public void excel() throws FileNotFoundException, IOException{

String filename = "d:\\excelxls";

HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filename));

//按名引用excel工作表

// HSSFSheet sheet = workbookgetSheet("JSP");

//也可以用以下方式来获取excel的工作表,采用工作表的索引值

HSSFSheet sheet = workbookgetSheetAt(0);

HSSFRow row ;

HSSFCell cell1;

int rows=sheetgetLastRowNum();

for(int icount=0;icount<rows;icount++){

row = sheetgetRow(icount);

int line=rowgetPhysicalNumberOfCells();

for(int j=0;j<line;j++){

cell1= rowgetCell(j);

Systemoutprintln(cell1+"--"+icount+"---"+j);

}

}

//打印读取值

// Systemoutprintln(cellgetStringCellValue());

//新建一输出流

FileOutputStream fout = new FileOutputStream(filename); //PS:filename 是你另存为的路径,不处理直接写入模版文件

//存盘

workbookwrite(fout);

foutflush();

//结束关闭

foutclose();

}

public HSSFCell getCell(HSSFRow row, int index) {

// 取得分发日期单元格

HSSFCell cell = rowgetCell(index);

// 如果单元格不存在

if (cell == null) {

// 创建单元格

cell = rowcreateCell(index);

}

// 返回单元格

return cell;

}

public static void main(String[] args) {

ExcelController ec = new ExcelController();

try {

ecexcel();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

eprintStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

字节流是由字节组成的,

字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的

字符流和字节流都是什么

流就是stream 一个连续的字节队列。

流是程序输入或输出的一个连续的字节序列,设备(例如鼠标,键盘,磁盘,屏幕和打印机)的输入和输出都是用流来处理的。在C语言中,所有的流均以文件的形式出现---不一定是物理磁盘文件,还可以是对应与某个输入/输出源的逻辑文件

流(streams)在I/O系统中是一种I/O机制和功能,或者称为streams子系统。它本身并不是一个物理设备的概念。

引入流的目的:

传统的字符设备驱动程序框架有许多缺点,这表现在:

。内核与字符设备驱动程序间接口的抽象层次太高

。内核没有为字符设备提供可靠的缓冲区分配和管理功能

。许多系统对字符设备的界面是把数据看成是FIFO(先进先出)的字节流,因此没有识别消息边界,区分普通设备和控制信息,以及判定不同消息优先级的能力,也没有字节流流量控制

。在网络数据传输设备中这些问题更突出。网络中数据传输是基于消息或数据分组的。

流的概念:

用通讯中的术语来说,流是全双工的处理过程,它是内核中驱动程序和用户进程之间的数据传输通道。

从流的构造上来说,它由一个流头,一个流驱动程序尾,以及其间的零个或若干个可选模块构成 。流头是一个用户级接口,它允许用户应用程序通过系统调用接口来访问流。驱动程序尾与底层设备通信。在流的中间的模块是处理数据的。

字节流与字符流主要的区别是他们的的处理对象

字节流是由字节组成的,字符流是由字符组成的 Java里字符由两个字节组成

字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的

但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化。在从字节流转化为字符流时,实际上就是byte[]转化为String时,

public String(byte bytes[], String charsetName)

有一个关键的参数字符集编码,通常我们都省略了,那系统就用 *** 作系统默认的lang

流式传输主要指将整个音频和视频及三维媒体等多媒体文件经过特定的压缩方式解析成一个个压缩包,由视频服务器向用户计算机顺序或实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备对压缩的A/V、3D等多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。

报文是网络中交换与传输的数据单元。报文包含了将要发送的完整的数据信息,其长短很不一致。(可分为自由报文和数字报文)

报文也是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头

以一定格式组织起来的数据

比如里面有报文类型, 报文版本, 报文长度, 报文实体等等信息

完全与系统定义, 或自定义的数据结构同义

来几个 TCP/IP 头结构感受一下:

typedef struct _iphdr //定义IP首部

{

unsigned char h_lenver; //4位首部长度+4位IP版本号

unsigned char tos; //8位服务类型TOS

unsigned short total_len; //16位总长度(字节)

unsigned short ident; //16位标识

unsigned short frag_and_flags; //3位标志位

unsigned char ttl; //8位生存时间 TTL

unsigned char proto; //8位协议 (TCP, UDP 或其他)

unsigned short checksum; //16位IP首部校验和

unsigned int sourceIP; //32位源IP地址

unsigned int destIP; //32位目的IP地址

}IP_HEADER;

typedef struct psd_hdr //定义TCP伪首部

{

unsigned long saddr; //源地址

unsigned long daddr; //目的地址

char mbz;

char ptcl; //协议类型

unsigned short tcpl; //TCP长度

}PSD_HEADER;

typedef struct _tcphdr //定义TCP首部

{

USHORT th_sport; //16位源端口

USHORT th_dport; //16位目的端口

unsigned int th_seq; //32位序列号

unsigned int th_ack; //32位确认号

unsigned char th_lenres; //4位首部长度/6位保留字

unsigned char th_flag; //6位标志位

USHORT th_win; //16位窗口大小

USHORT th_sum; //16位校验和

USHORT th_urp; //16位紧急数据偏移量

}TCP_HEADER;

// 这里只是数据头, 但头最能让你看清报文是啥东东

// IP_HEADER::total_len 指明了实体数据(也就是真正的消息内容)长度

// 其他以此类推

以上就是关于ajax如何异步向后台获取字节流数据全部的内容,包括:ajax如何异步向后台获取字节流数据、java怎么读取很大的excel(20w条数据),怎么通过字节流获取到单元格的内容、计算机网络,请问字节流和报文流的区别是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9693437.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存