源码
package main
import (
"fmt"
"net/http"
"os"
"os/exec"
"path/filepath"
"strings"
)
func PathExists(path string) (bool, error) {
_, err := os.Stat(path)
if err == nil {
return true, nil
}
if os.IsNotExist(err) {
return false, nil
}
return false, err
}
func GetCurrPath() string {
file, _ := exec.LookPath(os.Args[0])
path, _ := filepath.Abs(file)
splitstring := strings.Split(path, "\\")
size := len(splitstring)
splitstring = strings.Split(path, splitstring[size-1])
ret := strings.Replace(splitstring[0], "\\", "/", size-1)
return ret
}
func FileExists(path string) (bool, error) {
_, err := os.Stat(path)
if err == nil {
return true, nil
}
if os.IsNotExist(err) {
return false, nil
}
return false, err
}
func main() {
fmt.Println(GetCurrPath())
path:="file"
file:="gaoliwenfile.txt"
exist,e:=PathExists(path)
if(!exist){
e=os.Mkdir("file",0777)
}
exist,e=FileExists(path+"/"+file)
if(!exist){
f,_:=os.Create(path+"/"+file)
_,e=f.WriteString(fmt.Sprintf("hello world!!!"))
e=f.Close()
}
http.Handle("/", http.FileServer(http.Dir("file")))
e=http.ListenAndServe(":8888",nil)
if e!=nil{
fmt.Println(e.Error())
}
}
目录结构
测试