⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jtempfilestream.cpp

📁 b tree code for index in the database design
💻 CPP
字号:
//////////////////////////////////////////////////////////////////
///
/// (C) 2007: Yuriy Soroka <ysoroka@scalingweb.com>
///	      Anton Fedoruk <afedoruk@scalingweb.com>
///
//////////////////////////////////////////////////////////////////

#include "JTempFileStream.h"
#include <QFileInfo>
#include <QFSFileEngine>
#include <time.h>


//	======================================================
//	JTempFileStream::JTempFileStream

JTempFileStream::JTempFileStream()
	: autoDelete_( true )
{
	QString tempFilePath = QFSFileEngine::tempPath() + "/JSTemp" + tmpnam( 0 );
	tempFilePath.replace( '\\', '_' );
	
	open( tempFilePath );
}

//	======================================================
//	JTempFileStream::JTempFileStream

JTempFileStream::JTempFileStream( const QString& name )
	: autoDelete_( true )
{
	open( name );
}

//	======================================================
//	JTempFileStream::~JTempFileStream

JTempFileStream::~JTempFileStream()
{
	flush();
	cleanUp();
}

//	======================================================
//	JTempFileStream::setAutoDelete

void JTempFileStream::setAutoDelete( bool flag )
{
	autoDelete_ = flag;
}

void JTempFileStream::cleanUp()
{
	if ( file_.isOpen() )
	{
		file_.close();
	}

	if ( autoDelete_ && file_.exists() )
	{
		file_.remove();
	}
}

//	======================================================
//	JTempFileStream::open

bool JTempFileStream::open( const QString& fileName ) 
{
	if( fileName.isEmpty() )
	{
		return false;
	}
	else
	{
		QFileInfo fi( fileName );
		if ( fi.isDir() )
		{
			return false;
		}
	}

	cleanUp();

	file_.setFileName( fileName );
	return file_.open( QIODevice::ReadWrite );
}

//	======================================================
// generates unique file name in specified location

//inline const QString& generateUnqueFileName( const QString &filePath, QString &uniqueFileName )
//{
//	//srand( time( 0 ) );
//	unsigned int number = 0; 
//	uniqueFileName = filePath + QString::number( rand() + JetTickCount() );
//
//	while ( QFileInfo( uniqueFileName ).exists() )
//	{
//		number++;
//		uniqueFileName = filePath + QString::number( number );
//	}
//	
//	return uniqueFileName;
//}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -