我有一个非常大的二进制文件,其中包含大约一GB数据量的信息。
我正在尝试将1 GB的.bin
文件拆分为4个256 MB的文件,我没有任何帮助。
我尝试使用textscan
和memmapfile
函数,但没有用。
对此有何帮助?
答案 0 :(得分:1)
MATLAB可以读写二进制文件。
尝试使用fread()
,fwrite()
/ fclose()
和.bin
命令。
要将二进制文件读入MATLAB,首先打开该文件以供阅读。
然后魔术来了 - 您需要知道fHANDLE = fopen( 'aHugeBinFileNAME.bin','r'); % Open the binary file for reading with a fileHandle fHANDLE
[dVECTOR,count] = fread( fHANDLE, 'int16' ); % Scan the data into a vector of int16 values, in this case called dVECTOR
fclose( fHANDLE); % Close the file
文件中二进制数据的上下文/结构,以便能够使用正确的格式将数据扫描到变量 强>
help fread()
无论如何,通过dVECTOR_256M = fread( fHANDLE, 256*1024*1024, 'uint8', 0, 'b' ); % Big-Endian convention
等获取有关fileIO服务的更多详细信息,以获取更多选项,以便为您的特定使用环境读取“第一个/下一个”256MB的巨大输入文件。
<?php
# Error Printing
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
require_once('FacebookAPI/Facebook.php');
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxx',
'secret' => 'yyyyyyyyyyyyyy',
));
# Get User ID
$user = $facebook->getUser();
$fql = "SELECT like_info.like_count, comment_info.comment_count, share_count, post_id
FROM stream
WHERE source_id = 'PAGE_ID'";
$param = array(
'method' => 'fql.query',
'query' => $fql,
'callback' => ''
);
$fqlResult = $facebook->api($param);
$asset_count = 0;
foreach($fqlResult as $row){
$asset_count += (int)$row['like_info.like_count'] + (int)$row['comment_info.comment_count']+ (int)$row['share_count']+ (int)$row['post_id'];
}
echo "<br/><br/>";
echo $asset_count;
?>