主要内容

matlab.net.http.io.FileConsumer类

包:matlab.net.http.io
超类:matlab.net.http.io.ContentConsumer

消费者在HTTP消息的文件

描述

FileConsumer类提供了一种方便的方法来从web服务下载一个文件,或者从网上数据保存在一个文件中。你可以指定文件的名称,或者让MATLAB®确定从服务器发送的信息或文件名称命名的URI。

matlab.net.http.io.FileConsumer类是一个处理类。

创建

描述

消费者= FileConsumer (文件名,许可,machineformat,编码)构造一个FileConsumer创建或覆盖一个文件从服务器响应的有效载荷。的参数具有相同的意义的打开外部文件函数,是可选的。

消费者= FileConsumer (支撑材)设置FileIdentifier财产支撑材和写入文件。支撑材必须你打开的文件的标识符。MATLAB编写的文件当前位置指示器,如果你打开一个已存在的文件使用“+”许可,例如,MATLAB附加到文件。当转移完成后,MATLAB离开位置指示器在文件的末尾,不关闭文件。

输入参数

全部展开

文件或文件夹的名字,包括完整路径和可选的扩展,指定为一个特征向量或字符串标量。确定创建的文件的名称,MATLAB看到文件名财产。

如果文件名指定一个文件在一个现有的文件夹,然后用MATLAB:

  • 打开文件使用fopen(文件名,许可,…)

  • 如果许可没有指定,然后打开文件使用fopen(文件名,“w +”)

  • 如果文件名不包括一个扩展,然后MATLAB增加了一个基于内容类型和/或附加头字段中收到的消息或文件的扩展名URI的请求,如果任何。

如果文件名指定一个现有的,可写的文件夹,然后用MATLAB创建了一个文件在文件夹的名字来源于附加响应头字段或URI,可能添加一个扩展基于如果这个名字并不包含一个内容类型。

如果文件名缺失或空,然后MATLAB在当前文件夹中创建一个文件。这相当于文件名= '。'。当时当前文件夹的文件夹FileConsumer是创造,不是这个消费者使用的时间吗发送请求。

例子:“myTextFile.txt”

数据类型:字符|字符串

文件访问类型,指定为一个字符串。如果许可指定,它必须允许写访问。默认值是“w +”打开或创建一个文件读写和丢弃现有的内容,如果有的话。

许可可以是任何值允许的吗打开外部文件函数。以下的附加价值许可支持:金宝app

“u +”,“u”

一样' w '“w +”文件,如果文件存在,那么用一个惟一名称创建派生的文件名论点。新文件的名称有一个连字符和一个序列号附加到其名称不包括扩展的一部分。

例如,如果文件名“MyFile.txt”但文件存在,那么MATLAB创建该文件myfile - 1. - txt。的文件名属性包含新文件的完整路径名。

“T”

当附加许可,行为类似于文本模式“t”但是使用文本模式只有在内容类型的数据表明它是基于字符的。这包括任何类型指定字符集参数或MATLAB知道基于字符,类型等“application / json”

在所有情况下,' w '“w +”权限(或者许可没有指定),MATLAB不会覆盖现有的文件,除非文件名字正好等于文件名

例子:“一个”“w + T”

数据类型:字符|字符串

读写字节或位,指定为任何值允许的打开外部文件函数。

数据类型:字符|字符串

字符编码,指定为任何值允许的打开外部文件函数。

数据类型:字符|字符串

属性

全部展开

公共属性

写文件的标识符(FID),指定为两倍。如果消费者是一个由支撑材的论点,那么这个属性标识符。数据写入当前文件位置指示器与此相关的标识符,所以子类应该小心不要改变位置意外当使用这个标识符。结论的传输,文件仍然开放和地位依然在文件的末尾。

如果构造函数被称为文件名论点,或不带参数,那么这个属性文件是只读文件标识符。这允许子类中读取文件传输而不打扰位置指示器用于写作。结论的转移,这个标识符是关闭的。

属性:

GetAccess
公共
SetAccess
私人

写入文件的完整路径名称,指定为一个字符串。如果消费者是一个由支撑材的论点,然后这个属性文件的名称。否则,这个值可能不是设置直到MATLAB已经开始写文件在收到响应消息,自从文件名不能必然地确定,直到所有头文件已收到。使用这个属性来确定文件编写。文件名也是存储在吗Response.Body.Data财产。

属性:

GetAccess
公共
SetAccess
私人

显示缓冲区大小,指定为uint64。MATLAB集AllocationLength预期大小的缓冲区的数据传递给putData。实际的大小可能会更小或更大。为了提高性能,消费者可以使用这个值来preallocate空间来处理数据。

MATLAB调用之前设置这个属性开始为方便子类的方法。

属性:

GetAccess
公共
SetAccess
公共

预期负载长度指定为uint64。房地产通常是价值财产的matlab.net.http.field.ContentLengthField财产。

如果ContentLength是空的,那么长度是未知的。负载结束时putData (uint8.empty)被称为。

MATLAB调用之前设置这个属性初始化,为方便子类可能受益于知道数据的长度。

如果这ContentConsumer为代表的顶级消费者,那么的价值呢ContentLength可能是不同的ContentLength顶级消费者的价值。

例子:元素个数(someData)在哪里someData是类型uint8

属性:

GetAccess
公共
SetAccess
公共

媒体类型的负载,指定为一个matlab.net.http.MediaType对象。房地产通常是价值财产的matlab.net.http.field.ContentTypeField财产。如果ContentType属性是空的,那么ContentTypeField为空或不存在。

MATLAB调用之前设置这个属性初始化为方便子类可能想检查MediaType。子类可以设置这个属性,如果他们决定从数据是不同的MediaType

的转让、MATLAB这个值复制到Response.Body.ContentType财产。

例子:的应用程序/八进制

属性:

GetAccess
公共
SetAccess
公共

头目前正在处理的有效载荷,指定为一个matlab.net.http.HeaderField对象。

消费者使用这个头来决定如何处理的有效负载发送到他们。对于一个顶级消费者,这个值是一样的Response.Header。对于一个委托,价值可能有所不同。例如,在一个多部分消息处理MultipartConsumer,它的头是这一部分委托处理。委托仍然可以检查Response.Header原始消息的标题。

MATLAB调用之前设置这个属性初始化,为方便子类。

属性:

GetAccess
公共
SetAccess
公共

完成的RequestMessage被指定为一个matlab.net.http.RequestMessage对象。这是最后的RequestMessage毕竟重定向,即completedrequest返回值的发送方法。

MATLAB调用之前设置这个属性初始化,为方便子类。

属性:

GetAccess
公共
SetAccess
公共

ResponseMessage正在处理,指定为一个matlab.net.http.ResponseMessage对象。

MATLAB设置响应财产之前调用初始化。的值是ResponseMessage头后收到了但是在接受任何负载。开始的时候响应消息处理(或多部分消息部分)的开始,ResponseMesssage.Body属性是一个MessageBody对象与空数据有效载荷属性。存储接收的数据,消费者可以修改响应MessageBody.Data在数据传输性能。通常,消费者这一过程,然后存储数据集Response.Body.Data处理负载,但这不是必需的。在完成转会,MATLAB返回响应给调用者的发送。消费者不应修改响应的属性,如状态栏,因为这些变化是返回给调用者发送

Response.Body.Payload属性是空的在转移和消费者不应该试图修改它。如果HTTPOptions.SavePayload属性设置,然后用MATLAB集有效载荷最后收到有效载荷的传递消息的或部分(后调用putData (uint8.empty))或当发生异常。

如果一个例外发生在消费者在消息处理,然后MATLAB抛出textbox对象。的历史属性包含这响应价值。

如果消费者是一个委托,处理多部分消息的一部分,Response.Header包含整个消息的标题,有效载荷数据的属性Response.Body调用前被清除ContentConsumer对于每一个部分。在每个部分的结论,一个新的ResponseMessage添加到数组的末尾的ResponseMessage在原始响应对象Body.Data包含从这个对象身体从这个属性。下一个委托看到新鲜响应空着MessageBody,而不是之前的委托MessageBody

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的

目的地的请求正在处理,作为一个指定matlab.net.URI对象。这个值是由最初的目标URI发送。它不是一个代理的URI或重定向后的最终URI。

MATLAB调用之前设置这个属性初始化,为方便子类。

属性:

GetAccess
公共
SetAccess
公共

受保护的属性

处理函数,指定为一个函数,调用putData方法来添加额外的数据。的putData方法在这类调用AppendFcn函数接收的附加数据数据现有参数响应消息中的数据。函数必须有签名:

newdata AppendFcn(消费者)

在哪里newdata是要添加到数组的数据吗consumer.Response.Body.Data。这是这种方法更新的责任consumer.CurrentLength以反映新的长度数据。如果newdata结束为空,这表示流,那么函数应该更新Response.Body.Data其最终值。

默认的行为,如果这个属性为空,将使用一个内部函数数据一个数组的支持任意值金宝apphorzcat函数。它有效地增加了newdata由preallocating空间,维护CurrentLength实际存储的数据的长度。最后的消息,它截断Response.Body.DataCurrentLength

子类可以更改此属性horzcat不适合添加过程。例如,当一个StringConsumer构建一个标量字符串,它将添加到字符串使用+函数来代替horzcat

不调用子类ContentConsumer.putData添加数据,或者感到满意horzcat行为附加数据时,可以忽略该属性。

例子:@customAppend在哪里@customAppend被定义为消费者

属性:

GetAccess
受保护的
SetAccess
受保护的

ContentConsumer这种消费者委托,作为指定matlab.net.http.io.ContentConsumer对象。的delegateTo方法的调用消费者(委托)设置CurrentDelegate财产。如果没有当前的代表团,值[]

MATLAB集CurrentDelegate[]在调用之前初始化

属性:

GetAccess
受保护的
SetAccess
受保护的

目前的数据长度Response.Body.Data属性,指定为uint64

此属性时使用Response.Body.Data被预先分配一个大小比实际当前存储的数据量大,显示存储的数据的长度。如果这个属性是空的,那么它意味着所有的Response.Body.Data包含,或者存储数据ContentConsumer子类是处理数据以某种方式以外的存储Response.Body.Data

使用这个属性和设置的putData在这个基类方法AppendFcn属性是空的。调用子类的好处putData和想要检查已数据,和/或任何的实现AppendFcn维护结果Response.Body.Data

子类使用putData也可以修改这个属性重置数据存储在缓冲区中的位置。例如,当默认值AppendFcn使用函数,处理所有的子类Response.Body.Data在每次调用putData可能不再有使用原始数据,所以它可以重置CurrentLength属性1,下一个putData使用新数据调用覆盖缓冲。不需要明确的元素在缓冲区的过去结束的新数据。

不调用子类putData可以使用这个属性来跟踪自己的数据,或者可以把它复原(空的)。MATLAB不发生任何限制的值可以设置和不使用它为任何目的除了确定默认AppendFcn应该存储下一个缓冲区的数据,截断数据的最后消息。将此属性设置为空之前最后的呼吁putData (uint8.empty)为了防止数据的截断。

MATLAB每次调用之前将此属性设置为空初始化

属性:

GetAccess
受保护的
SetAccess
受保护的

ContentConsumer委托给这个消费者,作为一个指定matlab.net.http.io.ContentConsumer对象。如果消费者是一个委托调用另一个消费者,例如GenericConsumerMultipartConsumer消费者,那么这就是调用。它是空的顶级消费者调用中指定发送

代表可以使用这个属性来访问属性有,例如,确定哪些消费者委托给他们。

属性:

GetAccess
受保护的
SetAccess
受保护的

方法

全部展开

更多关于

全部展开

版本历史

介绍了R2018a