1115cd2caSopenharmony_ci/* 2115cd2caSopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3115cd2caSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4115cd2caSopenharmony_ci * you may not use this file except in compliance with the License. 5115cd2caSopenharmony_ci * You may obtain a copy of the License at 6115cd2caSopenharmony_ci * 7115cd2caSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8115cd2caSopenharmony_ci * 9115cd2caSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10115cd2caSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11115cd2caSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12115cd2caSopenharmony_ci * See the License for the specific language governing permissions and 13115cd2caSopenharmony_ci * limitations under the License. 14115cd2caSopenharmony_ci */ 15115cd2caSopenharmony_ci 16115cd2caSopenharmony_ci#include "file_utils.h" 17115cd2caSopenharmony_ci 18115cd2caSopenharmony_ci#include "common.h" 19115cd2caSopenharmony_ci#include "hilog_wrapper.h" 20115cd2caSopenharmony_ci 21115cd2caSopenharmony_cinamespace OHOS { 22115cd2caSopenharmony_cinamespace Contacts { 23115cd2caSopenharmony_ciFileUtils::FileUtils(void) 24115cd2caSopenharmony_ci{ 25115cd2caSopenharmony_ci} 26115cd2caSopenharmony_ci 27115cd2caSopenharmony_ciFileUtils::~FileUtils() 28115cd2caSopenharmony_ci{ 29115cd2caSopenharmony_ci} 30115cd2caSopenharmony_ci 31115cd2caSopenharmony_ciint FileUtils::IsFolderExist(std::string path) 32115cd2caSopenharmony_ci{ 33115cd2caSopenharmony_ci DIR *dp; 34115cd2caSopenharmony_ci if ((dp = opendir(path.c_str())) == nullptr) { 35115cd2caSopenharmony_ci HILOG_ERROR("FileUtils file NULL"); 36115cd2caSopenharmony_ci return OPERATION_ERROR; 37115cd2caSopenharmony_ci } 38115cd2caSopenharmony_ci closedir(dp); 39115cd2caSopenharmony_ci return OPERATION_OK; 40115cd2caSopenharmony_ci} 41115cd2caSopenharmony_ci 42115cd2caSopenharmony_civoid FileUtils::Mkdir(std::string path) 43115cd2caSopenharmony_ci{ 44115cd2caSopenharmony_ci if (IsFolderExist(path) == OPERATION_ERROR) { 45115cd2caSopenharmony_ci int isCreate = ::mkdir(path.c_str(), S_IRUSR | S_IWUSR | S_IXUSR | S_IRWXG | S_IRWXO); 46115cd2caSopenharmony_ci HILOG_INFO("FileUtils : mkdir = %{public}d", isCreate); 47115cd2caSopenharmony_ci } 48115cd2caSopenharmony_ci} 49115cd2caSopenharmony_ci 50115cd2caSopenharmony_civoid FileUtils::WriteStringToFileAppend(std::string dirStr, const std::string str) 51115cd2caSopenharmony_ci{ 52115cd2caSopenharmony_ci time_t backupTime = time(nullptr); 53115cd2caSopenharmony_ci if (backupTime == 0) { 54115cd2caSopenharmony_ci HILOG_ERROR("FileUtils : WriteStringToFileAppend time_t null"); 55115cd2caSopenharmony_ci return; 56115cd2caSopenharmony_ci } 57115cd2caSopenharmony_ci dirStr.append("/").append(std::to_string(backupTime)).append(".log"); 58115cd2caSopenharmony_ci std::ofstream OsWrite(dirStr, std::ofstream::app); 59115cd2caSopenharmony_ci OsWrite << str; 60115cd2caSopenharmony_ci OsWrite << std::endl; 61115cd2caSopenharmony_ci OsWrite.close(); 62115cd2caSopenharmony_ci} 63115cd2caSopenharmony_ci} // namespace Contacts 64115cd2caSopenharmony_ci} // namespace OHOS