You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openim-sdk-cpp/go/chao-sdk-core/pkg/utils/file.go

56 lines
1.3 KiB

// Copyright © 2023 OpenIM SDK. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package utils
import (
"io"
"os"
"path"
)
func CopyFile(srcName string, dstName string) (written int64, err error) {
src, err := os.Open(srcName)
if err != nil {
return
}
dst, err := os.OpenFile(dstName, os.O_WRONLY|os.O_CREATE, 0644)
if err != nil {
return
}
defer func() {
if src != nil {
src.Close()
}
if dst != nil {
dst.Close()
}
}()
return io.Copy(dst, src)
}
func FileTmpPath(fullPath, dbPrefix string) string {
suffix := path.Ext(fullPath)
if len(suffix) == 0 {
sdkLog("suffix err:")
}
return dbPrefix + Md5(fullPath) + suffix //a->b
}
func FileExist(filename string) bool {
_, err := os.Stat(filename)
return err == nil || os.IsExist(err)
}