首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

zip文件操作导致JVM crash

概况     程序运行操作系统: CentOS6.5 64bit     JDK版本:7 2....测试 2.1 准备测试程序 测试程序很简单,就一个类一个main函数,大概流程:     先从参数中读取 获取zip文件的时间间隔interval,再从参数中获取zip文件路径。...再通过ZipFile类的api来从zip文件中获取文件的全路径名。每次获取一个文件sleep interval时间,便于测试。...问题解释 通过查询资料,这个跟mmap的linux操作系统机制有关,大致意识是:mmap机制通过将文件映射到内存,这样可以提高文件的访问效率,但是一旦来读取的过程中,文件被修改了,就可能导致错误,从而导致...总结 可以看到jvm crash的根源就在开启mmap机制后,zip文件在读取过程中被修改了。 解决的方法有两种:     1. 从代码逻辑上控制zip文件操作过程中,不要被其他逻辑修改。

1.7K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java IO 操作基础2---操作 ZIP 压缩文件

    上一篇 Java 类别的文章中介绍了一下 Java 中普通文件的相关操作,包括:文件读取和写入、文件复制、文件移动等操作。...这一篇来看一下 Java API 对 ZIP 压缩格式的文件的相关操作。 一、 压缩文件/文件夹 先从压缩文件开始吧,先来看一下一个普通的压缩文件的内容: ?...ZipOutputStream 类:我们知道,对普通文件操作时,如果需要将文件输出,则需要使用 OutputStream 的子类来进行写数据操作。...同样的,对于 ZIP 格式压缩文件,我们需要用 ZipOutputStream 类来对其进行数据写入等操作。...和压缩文件对应,解压 ZIP 文件可以对一个个 “入口” 对象来进行操作,同样的,有几个 “入口” 对象,就需要新建多少个文件/文件夹。

    2.6K20

    php通过文件头检测文件类型通用类(zip,rar…)

    首先说明下,上面文件头与文件类型映射关系来自网上,如果你有新的文件需要检查,只需要将映射加入即可。 如果你需要知道文件头信息,可以通过工具:winhex打开标准文件查找。如:<?...php /*通过文件名,获得文件类型* *@author chengmo QQ:8292669* *@copyright <a href="http://www.cnblogs.com/chengmo...* * * @param string $filename <em>文件</em>类型 * @return string <em>文件</em>类型,没有找到返回:other */ private function...ps"), array("255044462D312E","pdf"), array("E3828596","pwl"), array("504B0304","zip...,头是4个字节(头标记是多少字节需要自己查相关资料确定),对应是:89504E47如果你对php的pack unpack 不很熟悉,可以查看相关文档。

    27830

    PHP文件操作

    php /*************************************************************************************** 文件名:File.cls.php...文件简介:类clsFile的定义,对文件操作的封装 版本:2.0 最后修改日期:2011-8-23 *************************************************...; } /******************取得文件大小*********************/ /* 取得文件fileName_str的大小 $fileName_str 是文件的路径和名称...,并返回上传后的文件信息*********************/ /* $fileName_str本地文件名 $filePath上传文件的路径,如果$filePath是str则上传到同一目录用一个文件命名...,如果是arr则顺序命名 $allowType_arr允许上传的文件类型,留空不限制 $maxSize_int允许文件的最大值,留空不限制 返回的是新文件信息的二维数组:$reFileInfo_arr

    1.3K60

    PHP-文件操作

    1.2 文件操作 **1、**将字符串写入文件 <?php $str="床前明月光,\r\n疑是地上霜。\r\n举头望明月,\r\n低头思故乡。"; file_put_contents('..../test.txt',$str); //将字符串写到文本中 小结: 1、 所有的“写”操作都是清空重写 2、在文本中换行是\r\n \r:回车 光标移动到当前行的最前面 \n:换行 将光标下移动一行.../test.txt'); //读取输出文件内容 //注意:echo file_get_contents()==readfile() **3、**打开文件操作 fopen(地址,模式) 打开文件 模式.../test.txt','a'); //打开文件追加 fputs($fp,'在河之洲'); //在文件末尾追加 小结: 1、打开文件,返回文件指针(文件指针就是文件地址),资源类型 2、打开文件写、追加操作...,如果文件不存在,就创建新的文件 3、打开文件操作文件不存在就报错 4、fputs()写一行,fgets()读一行,fclose()关闭文件 5、追加是在文件的末尾追加 **4、**是否是文件【is_file

    62830

    PHP文件基础操作

    文件的基本操作:(更多) fopen():文件打开 $file = fopen("file.txt","r+"); fopen()函数的参数是目标文件的路径和文件的读写模式;同时fopen函数也会在打开文件时候发现没有文件会自动创建一个文件但是模式必须是读写或写入的模式...,然后函数执行自己的人物) PHP文件检查(EOF): feof():检查是否达到文件尾部 feof($file); feof()函数的主要功能是检查文件中的指针是否到达文件末尾,可以借此来解决未知大小的文件读写防止越界的问题...php $file = fopen("/File.txt","w");// w:文件写入模式;如果没有该文件就会自动创建文件 $txt = "Chinawangyuyang\r\nGMAIL.com...> fwrite()函数参数主要是写入的文件地址和需要写入的字符串或字符类型的变量 注意: 文件写入和文件操作(读写)模式有着非常重要的关系;fwrite()函数只负责向文件写入数据,而fopen()..."); 删除指定的文件;参数是文件的相对或绝对地址路径;返回布尔值 文件指针定位: rewind():首部 将文件指针复位到文件的首部 ftell():返回位置 将文件指针的当前位置返回 fseek()

    74910

    PHP文件上传操作

    HTML5学堂:关于文件上传,主要包括“构建基本表单”-“使用AJAX发送请求,上传文件”-“使用PHP获取文件基本信息”-“执行SQL语言,返回基本图片路径”-“使用DOM操作设置预览图路径”。...上图为上传文件后 核心知识 - 文件上传操作的基本步骤 1、构建基本的表单,并针对表单进行相关处理 2、在“上传文件”数据发生变化的时候,使用AJAX发送请求 3、PHP获得到文件的基本信息 4、PHP...执行SQL,将获取的基本信息存入数据库 5、PHP返回基本的图片路径 6、使用DOM操作设置预览图的路径 最核心的知识,其实依旧是知识的逻辑。...PHP获得到文件的基本信息 <?...之后的数据库连接我就不再讲解了,如果还不是太清楚,可以查看《PHP对数据库的相关操作》 在PHP当中,通过$_FILES这个超全局变量进行文件相关信息的获取,使用$_FILES["file"]["name

    4.9K50

    PHP文件系统操作

    文件操作 文件操作基本步骤如下: 打开文件 读写文件,包括显示文件内容、编辑内容、写入内容等操作。 关闭文件 打开和关闭文件 fopen()函数可以用来进行打开文件操作。...fclose()函数可以用来进行关闭文件操作。...,如果文件存在则返回false x+ 创建一个新的文件并以读写方式打开,如果文件已经存在则返回false fclose()的函数语法格式如下: fclose(resource handle) 在文件操作结束后...(2)fegtss(‘文件’,[长度]),会过滤掉内容中的HTML和PHP标记 读取一个字符 fgetc(),用来读取单个字符 读取一定长度的字符 file_get_contents(),读取以一定长度的字符...获取文件的访问时间 realpath(完整路径文件名) 获取规范化绝对路径 stat(完整路径文件名) 获取文件统计信息 pathinfo() 获取path信息 文件操作函数 函数 说明 fopen(

    95240

    PHP文件读取操作

    PHP文件读取操作 简单的文件读取,一般我们会使用 file_get_contents() 这类方式来直接获取文件的内容。...$fileObject->eof()){ echo $fileObject->fgetc(); } 第一个 readfile() ,读取文件后就直接打印了,不能进行其他操作,适用于直接显示大文件内容时使用...第三个是SPL扩展库为我们提供的面向对象式的 fopen() 操作,建议新的开发中如果有读取大文件的需求最好使用这种形式的写法,毕竟SPL函数库已经是PHP的标准函数库了,而且面向对象的操作形式也更加的主流...还是那句话,内存留给真正需要它的地方,这种大文件,最好还是进行硬盘的IO操作。...BB%B6%E8%AF%BB%E5%8F%96%E6%93%8D%E4%BD%9C.php 参考文档:《PHP7编程实战》

    2.6K20

    VBA解压缩ZIP文件04——解析ZIP文件结构

    使用压缩软件打开一个ZIP文件的时候,可以看到这个ZIP文件里面的文件信息,如下是使用7z压缩软件打开一个xlsm Excel文件: ?...从中主要可以看到文件的名称,文件压缩后的大小以及文件压缩前的大小。 其实这个时候,7z压缩软件并没有真正解压这个ZIP文件,仅仅是读取了它的信息,而这些信息的读取就是解析ZIP文件结构的过程。...ZIP文件结构 在前面介绍ZIP压缩过程的时候,主要是讲了压缩软件如何将原始的文件进行压缩,然后保存压缩信息,保存压缩信息之前,压缩软件还会在压缩信息的前面保存一些文件的信息,主要结构如下: 文件1的LocalFileHeader...文件中全部Central Directory的总数量)以及OffsetOfCD(第一条Central directory的起始位置在zip文件中的位置)。...文件,获取zip的压缩文件信息 'FileName ZIP文件完整路径 'Return 返回出错信息 Function Parse(FileName As String) As String

    3.2K20

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券