当前位置: 首页>>代码示例>>Golang>>正文


Golang gowfs.FileSystem类代码示例

本文整理汇总了Golang中vladimirvivien/gowfs.FileSystem的典型用法代码示例。如果您正苦于以下问题:Golang FileSystem类的具体用法?Golang FileSystem怎么用?Golang FileSystem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了FileSystem类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: testConnection

func testConnection(fs *gowfs.FileSystem) {
	_, err := fs.ListStatus(gowfs.Path{Name: "/"})
	if err != nil {
		log.Fatal("Unable to connect to server. ", err)
	}
	log.Printf("Connected to server %s... OK.\n", fs.Config.Addr)
}
开发者ID:xiekeyang,项目名称:gowfs,代码行数:7,代码来源:main.go

示例2: renameRemoteFile

func renameRemoteFile(fs *gowfs.FileSystem, oldName, newName string) {
	_, err := fs.Rename(gowfs.Path{Name: oldName}, gowfs.Path{Name: newName})
	if err != nil {
		log.Fatal("Unable to rename remote file ", oldName, " to ", newName)
	}
	log.Println("HDFS file ", oldName, " renamed to ", newName)
	ls(fs, newName)
}
开发者ID:xiekeyang,项目名称:gowfs,代码行数:8,代码来源:main.go

示例3: createTestDir

func createTestDir(fs *gowfs.FileSystem, hdfsPath string) {
	path := gowfs.Path{Name: hdfsPath}
	ok, err := fs.MkDirs(path, 0744)
	if err != nil || !ok {
		log.Fatal("Unable to create test directory ", hdfsPath, ":", err)
	}
	log.Println("HDFS Path ", path.Name, " created.")
	ls(fs, path.Name)
}
开发者ID:xiekeyang,项目名称:gowfs,代码行数:9,代码来源:main.go

示例4: changeMod

func changeMod(fs *gowfs.FileSystem, hdfsPath string) {
	shell := gowfs.FsShell{FileSystem: fs}
	_, err := shell.Chmod([]string{hdfsPath}, 0744)
	if err != nil {
		log.Fatal("Chmod() failed for ", hdfsPath, ": ", err.Error())
	}
	stat, err := fs.GetFileStatus(gowfs.Path{Name: hdfsPath})
	if err != nil {
		log.Fatal("Unable to validate Chmod() operation: ", err.Error())
	}
	if stat.Permission == "744" {
		log.Println("Chmod for ", hdfsPath, " OK ")
		ls(fs, hdfsPath)
	} else {
		log.Fatal("Chmod() failed.")
	}
}
开发者ID:xiekeyang,项目名称:gowfs,代码行数:17,代码来源:main.go

示例5: changeGroup

func changeGroup(fs *gowfs.FileSystem, hdfsPath string) {
	shell := gowfs.FsShell{FileSystem: fs}
	_, err := shell.Chgrp([]string{hdfsPath}, "superduper")
	if err != nil {
		log.Fatal("Chgrp failed for ", hdfsPath, ": ", err.Error())
	}
	stat, err := fs.GetFileStatus(gowfs.Path{Name: hdfsPath})
	if err != nil {
		log.Fatal("Unable to validate chgrp() operation: ", err.Error())
	}
	if stat.Group == "superduper" {
		log.Println("Chgrp for ", hdfsPath, " OK ")
		ls(fs, hdfsPath)
	} else {
		log.Fatal("Chgrp() failed.")
	}
}
开发者ID:xiekeyang,项目名称:gowfs,代码行数:17,代码来源:main.go

示例6: changeOwner

func changeOwner(fs *gowfs.FileSystem, hdfsPath string) {
	shell := gowfs.FsShell{FileSystem: fs}
	_, err := shell.Chown([]string{hdfsPath}, "owner2")
	if err != nil {
		log.Fatal("Chown failed for ", hdfsPath, ": ", err.Error())
	}
	stat, err := fs.GetFileStatus(gowfs.Path{Name: hdfsPath})
	if err != nil {
		log.Fatal("Unable to validate chown() operation: ", err.Error())
	}
	if stat.Owner == "owner2" {
		log.Println("Chown for ", hdfsPath, " OK ")
		ls(fs, hdfsPath)
	} else {
		log.Fatal("Chown() failed.")
	}
}
开发者ID:xiekeyang,项目名称:gowfs,代码行数:17,代码来源:main.go

示例7: ls

func ls(fs *gowfs.FileSystem, hdfsPath string) {
	stats, err := fs.ListStatus(gowfs.Path{Name: hdfsPath})
	if err != nil {
		log.Fatal("Unable to list paths: ", err)
	}
	log.Printf("Found %d file(s) at %s\n", len(stats), hdfsPath)
	for _, stat := range stats {
		fmt.Printf(
			"%-11s %3s %s\t%s\t%11d %20v %s\n",
			formatFileMode(stat.Permission, stat.Type),
			formatReplication(stat.Replication, stat.Type),
			stat.Owner,
			stat.Group,
			stat.Length,
			formatModTime(stat.ModificationTime),
			stat.PathSuffix)
	}
}
开发者ID:xiekeyang,项目名称:gowfs,代码行数:18,代码来源:main.go

示例8: moveRemoteFileLocal

func moveRemoteFileLocal(fs *gowfs.FileSystem, remoteFile string) {
	log.Println("Moving Remote file!!")
	shell := gowfs.FsShell{FileSystem: fs}
	remotePath, fileName := path.Split(remoteFile)
	_, err := shell.MoveToLocal(remoteFile, fileName)
	if err != nil {
		log.Fatal("MoveToLocal() failed: ", err.Error())
	}
	file, err := os.Open(fileName)
	if err != nil {
		log.Fatal("MoveToLocal() - local file can't be open. ")
	}
	defer file.Close()
	defer os.Remove(file.Name())

	_, err = fs.GetFileStatus(gowfs.Path{Name: remoteFile})
	if err == nil {
		log.Fatal("Expecing a FileNotFoundException, but file is found. ", remoteFile, ": ", err.Error())
	}
	log.Printf("Remote file %s has been removed Ok", remoteFile)
	ls(fs, remotePath)
}
开发者ID:xiekeyang,项目名称:gowfs,代码行数:22,代码来源:main.go

示例9: appendToRemoteFile

func appendToRemoteFile(fs *gowfs.FileSystem, localFile, hdfsPath string) {
	stat, err := fs.GetFileStatus(gowfs.Path{Name: hdfsPath})
	if err != nil {
		log.Fatal("Unable to get file info for ", hdfsPath, ":", err.Error())
	}
	shell := gowfs.FsShell{FileSystem: fs}
	_, err = shell.AppendToFile([]string{localFile}, hdfsPath)
	if err != nil {
		log.Fatal("AppendToFile() failed: ", err.Error())
	}

	stat2, err := fs.GetFileStatus(gowfs.Path{Name: hdfsPath})
	if err != nil {
		log.Fatal("Something went wrong, unable to get file info:", err.Error())
	}
	if stat2.Length > stat.Length {
		log.Println("AppendToFile() for ", hdfsPath, " OK.")
		ls(fs, hdfsPath)
	} else {
		log.Fatal("AppendToFile failed. File size for ", hdfsPath, " expected to be larger.")
	}
}
开发者ID:xiekeyang,项目名称:gowfs,代码行数:22,代码来源:main.go


注:本文中的vladimirvivien/gowfs.FileSystem类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。