在项目中,碰到一个解析流的操作,php里面没有现成的类.
那没办法,只能用二进制模式打开文件,再和java的datainputstream对比着打开文件,一个一个的实现流读取和解析.
废话不多说,代码贴出,其实很简单很简单.
DataInputStream.php
本系统经过多次升级改造,系统内核经过多次优化组合,已经具备相对比较方便快捷的个性化定制的特性,用户部署完毕以后,按照自己的运营要求,可实现快速定制会费管理,支持在线缴费和退费功能财富中心,管理会员的诚信度数据单客户多用户登录管理全部信息支持审批和排名不同的会员级别有不同的信息发布权限企业站单独生成,企业自主决定更新企业站信息留言、询价、报价统一管理,分系统查看分类信息参数化管理,支持多样分类信息,
0
<?php
/**
* 流解析
* ---------------------------------------------
* @Author: Simon 夏向红 sanwkj@163.com
* @Date: 2012-02-22
* @package cn.com.nearme.gostore.theme
* @name :DataInputStream.php
* @version v1.0
*
*/
class DataInputStream {
private $stream = null;
/**
* 构造函数
*
* @param stream of fopen .. $in
*/
public function __construct( $in ){
$this->stream = $in;
}
/**
* 析构函数
*
*/
public function __destruct(){
@fclose( $this->stream );
}
/**
* 读取字节
*
* @param int sizeof you want to read $len
* @return string
*/
private function read( $len=1 ){
$len = intval( $len );
if( $len>0 ) {
if( !feof( $this->stream ) ) {
$read = @fread($this->stream,$len);
if( strlen($read)!=$len ){
throw new Exception('流文件已经到末尾,读取错误',222);
} else {
return $read;
}
} else {
throw new Exception('流文件已经到末尾,读取错误',222);
}
} else {
return '';
}
}
/**
* 读取一个字节,并转换成int
*
* @return int
*/
public function readByte(){
return hexdec(bin2hex($this->read(1)));
}
/**
* 短整形
*
* @return int
*/
public function readShort(){
return hexdec(bin2hex($this->read(2)));
}
/**
* 整形数据
*
* @return int
*/
public function readInt(){
return hexdec(bin2hex($this->read(4)));
}
/**
* 读取一个字符串
*
* @return string
*/
public function readUTF(){
$len = $this->readShort();
return $this->read($len);
}
/**
* 读取指定长度的数据,并作为字符串返回,图片等二进制文件,可能需要这样读取.
*
* @param int $len
* @return unknown
*/
public function readFully( $len ) {
return $this->read( $len );
}
/**
* readUTF的别名
*
* @return unknown
*/
public function readString(){
return $this->readUTF();
}
/**
* 长整形.
*
* @return unknown
*/
public function readLong(){
return hexdec(bin2hex($this->read(8)));
}
}
?>
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号