Tag: 缓冲区

Java – 环形缓冲区

我有一个stream媒体时间序列,其中我有兴趣保留最后4个元素,这意味着我想能够popup第一个,并添加到最后。 哪个Java Collection最适合这个? vector?

读取和写入二进制文件

我试图编写代码来读取二进制文件到缓冲区,然后将缓冲区写入另一个文件。 我有下面的代码,但缓冲区只存储了文件中第一行的几个ASCII字符,没有别的。 int length; char * buffer; ifstream is; is.open ("C:\\Final.gif", ios::binary ); // get length of file: is.seekg (0, ios::end); length = is.tellg(); is.seekg (0, ios::beg); // allocate memory: buffer = new char [length]; // read data as a block: is.read (buffer,length); is.close(); FILE *pFile; pFile = fopen ("C:\\myfile.gif", "w"); fwrite (buffer , 1 […]

缓冲文件(用于更快的磁盘访问)

我正在处理大文件,直接写入磁盘很慢。 由于文件很大,我无法将其加载到TMemoryStream中。 TFileStream没有缓冲,所以我想知道是否有一个可以提供缓冲stream的自定义库,或者我应该只依靠OS提供的缓冲。 操作系统的缓冲是否可靠? 我的意思是如果caching已满,可能会从caching刷新旧文件(我的),以便为新文件腾出空间。 我的文件在GB范围内。 它包含数百万条logging。 不幸的是,logging不是固定的大小。 所以,我必须做数以百万计的读数(在4到500字节之间)。 阅读(和写作)是连续的。 我不会跳到文件中(我认为这是缓冲的理想select)。 最后,我必须将这样的文件写回到磁盘(再次是数百万小的写入)。 大卫Heffernan赞美的一句话! David提供了一大段代码来提供缓冲磁盘访问。 人们你必须有他的BufferedFileStream! 这是黄金。 不要忘记注册。 谢谢大卫。

在使用FileInputStream时,如何确定理想的缓冲区大小?

我有一个从文件中创buildMessageDigest(哈希)的方法,我需要对很多文件(> = 100,000)执行此操作。 我应该用多大的缓冲区来从文件中读取以最大化性能? 大多数人都熟悉基本代码(为了以防万一,我将在这里重复一遍): MessageDigest md = MessageDigest.getInstance( "SHA" ); FileInputStream ios = new FileInputStream( "myfile.bmp" ); byte[] buffer = new byte[4 * 1024]; // what should this value be? int read = 0; while( ( read = ios.read( buffer ) ) > 0 ) md.update( buffer, 0, read ); ios.close(); md.digest(); 什么是最大化吞吐量的缓冲区的理想大小? 我知道这是依赖于系统,我很确定它的操作系统,文件系统和硬盘驱动器依赖,也可能有其他硬件/软件混合。 […]

如何清除C中的input缓冲区?

我有以下程序: int main(int argc, char *argv[]) { char ch1, ch2; printf("Input the first character:"); // Line 1 scanf("%c", &ch1); printf("Input the second character:"); // Line 2 ch2 = getchar(); printf("ch1=%c, ASCII code = %d\n", ch1, ch1); printf("ch2=%c, ASCII code = %d\n", ch2, ch2); system("PAUSE"); return 0; } 正如上面代码的作者所解释的那样:程序不能正常工作,因为在第1行,当用户按下Enter键时,它将在input缓冲区中留下2个字符: Enter key (ASCII code 13)和\n (ASCII code […]

在字符串和ArrayBuffers之间转换

有没有一个被普遍接受的技术,有效地将JavaScript字符串转换为ArrayBuffers ,反之亦然? 具体来说,我想能够将一个ArrayBuffer的内容写入localStorage并将其读回。