1/* 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16#include "file_utils.h" 17 18#include "common.h" 19#include "hilog_wrapper.h" 20 21namespace OHOS { 22namespace Contacts { 23FileUtils::FileUtils(void) 24{ 25} 26 27FileUtils::~FileUtils() 28{ 29} 30 31int FileUtils::IsFolderExist(std::string path) 32{ 33 DIR *dp; 34 if ((dp = opendir(path.c_str())) == nullptr) { 35 HILOG_ERROR("FileUtils file NULL"); 36 return OPERATION_ERROR; 37 } 38 closedir(dp); 39 return OPERATION_OK; 40} 41 42void FileUtils::Mkdir(std::string path) 43{ 44 if (IsFolderExist(path) == OPERATION_ERROR) { 45 int isCreate = ::mkdir(path.c_str(), S_IRUSR | S_IWUSR | S_IXUSR | S_IRWXG | S_IRWXO); 46 HILOG_INFO("FileUtils : mkdir = %{public}d", isCreate); 47 } 48} 49 50void FileUtils::WriteStringToFileAppend(std::string dirStr, const std::string str) 51{ 52 time_t backupTime = time(nullptr); 53 if (backupTime == 0) { 54 HILOG_ERROR("FileUtils : WriteStringToFileAppend time_t null"); 55 return; 56 } 57 dirStr.append("/").append(std::to_string(backupTime)).append(".log"); 58 std::ofstream OsWrite(dirStr, std::ofstream::app); 59 OsWrite << str; 60 OsWrite << std::endl; 61 OsWrite.close(); 62} 63} // namespace Contacts 64} // namespace OHOS