跳到主要內容

暫存

  • Documents: 存放应用程序产生的数据,会被itunes备份同步
  • Library: 包含两个子目录:Caches 和 Preferences
    • Preferences:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好,会被itunes备份同步.
    • Caches:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息,不会被itunes备份同步。
  • tmp: 存放临时数据,当不在用时应该删除掉临时文件,系统也有可能在程序不运行时删除该文件夹下内容
##获取目录方法
###Home目录
//获取沙盒主目录路径 
var homeDir=NSHomeDirectory()
println("\(dirHome)")
###Documents目录
 //获取Documents目录路径
  var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
    var documentsDirectory = paths[0] as! String
    println("\(documentsDirectory)")
或者相对Home路径
var documentsDirectory = NSHomeDirectory().stringByAppendingPathComponent("Documents")

    println("\(documentsDirectory)")
###Library目录
    // 获取Library目录路径  
     var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.LibraryDirectory, NSSearchPathDomainMask.UserDomainMask, true)
        var libraryDirectory = paths[0] as! String
        println("\(libraryDirectory)")
或者相对Home路径
    var libraryDirectory = NSHomeDirectory().stringByAppendingPathComponent("Library")

    println("\(libraryDirectory)")
###Cache目录
// 获取Caches目录路径  
 var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true)
        var cacheDirectory = paths[0] as! String
        println("\(cacheDirectory)")
###tmp目录
    // 获取tmp目录路径
  var tmpDirectory = NSTemporaryDirectory()

    println("\(tmpDirectory)")
或者相对Home目录
    var tmpDirectory = NSHomeDirectory().stringByAppendingPathComponent("tmp")

    println("\(tmpDirectory)");
##文件操作
###创建文件夹
    //在Documents目录下创建test文件夹
    var documentDir = NSHomeDirectory().stringByAppendingPathComponent("Documents")
       var fileManager  = NSFileManager.defaultManager()
       var testDir = documentDir.stringByAppendingPathComponent("test")

       var error:NSError?=nil

       var result = fileManager.createDirectoryAtPath(testDir, withIntermediateDirectories: true, attributes: nil, error: &error)

        if result {
            println("success")
        }else {
            println("error:\(error)")
        }
###创建文件
  //在Documents目录下test文件夹下创建test.txt
  var documentDir = NSHomeDirectory().stringByAppendingPathComponent("Documents")
   var fileManager  = NSFileManager.defaultManager()
   var testDir = documentDir.stringByAppendingPathComponent("test")

   var fileDir = testDir.stringByAppendingPathComponent("test.txt")

   var error:NSError?=nil

   var result = fileManager.createFileAtPath(fileDir, contents: nil, attributes: nil)

    if result {
        println("success")
    }else {
        println("error:\(error)")
    }
###写入文件
   var documentDir = NSHomeDirectory().stringByAppendingPathComponent("Documents")
   var fileManager  = NSFileManager.defaultManager()
   var testDir = documentDir.stringByAppendingPathComponent("test")

   var fileDir = testDir.stringByAppendingPathComponent("test.txt")

   var error:NSError?=nil
   var content = "this is a test"

   var result = content.writeToFile(fileDir, atomically: true, encoding: NSUTF8StringEncoding, error: &error)

    if result {
        println("success")
    }else {
        println("error:\(error)")
    }
###读取文件
  var documentDir = NSHomeDirectory().stringByAppendingPathComponent("Documents")
       var fileManager  = NSFileManager.defaultManager()
       var testDir = documentDir.stringByAppendingPathComponent("test")

       var fileDir = testDir.stringByAppendingPathComponent("test.txt")

       var error:NSError?=nil

       var content = NSString(contentsOfFile: fileDir, encoding: NSUTF8StringEncoding, error: &error)

        if error == nil  {
            println("success content:\(content!)")
        }else {
            println("error:\(error)")
        }
###读取文件属性
var documentDir = NSHomeDirectory().stringByAppendingPathComponent("Documents")
       var fileManager  = NSFileManager.defaultManager()
       var testDir = documentDir.stringByAppendingPathComponent("test")

       var fileDir = testDir.stringByAppendingPathComponent("test.txt")

       var error:NSError?=nil

       var attrs = fileManager.attributesOfFileSystemForPath(fileDir, error: &error)

        if error == nil  {
            println("success content:\(attrs)")
        }else {
            println("error:\(error)")
        }
###删除文件
 var documentDir = NSHomeDirectory().stringByAppendingPathComponent("Documents")
       var fileManager  = NSFileManager.defaultManager()
       var testDir = documentDir.stringByAppendingPathComponent("test")

       var fileDir = testDir.stringByAppendingPathComponent("test.txt")

       var error:NSError?=nil

       var attrs = fileManager.removeItemAtPath(fileDir, error: &error)

        if error == nil  {
            println("success")
        }else {
            println("error:\(error)")
        }
###判断是否为目录
var documentDir = NSHomeDirectory().stringByAppendingPathComponent("Documents")
       var fileManager  = NSFileManager.defaultManager()
       var testDir = documentDir.stringByAppendingPathComponent("test")

       var isDir = ObjCBool(false)
       var existsDir = fileManager.fileExistsAtPath(testDir, isDirectory:&isDir)

        if existsDir {
            println("exists Dir")
        }else {
            println("not exists")
        }

留言

這個網誌中的熱門文章

Android平台下使用GStreamer How to build GStreamer

  GStreamer 環境建置 設備環境 : OS: Windows 10 專業版 Android Studio: 4.0.1 classpath 'com.android.tools.build:gradle:3.1.4' GStreame SDK : 1.18.4     1.       GStreame 官方網站,下載 GStreameSDK 點選 android Tutorials 官方安裝說明 點選 GStreamer binaries   下載 GStreameSDK ,這邊點選 1.18.4 tarball 及 Android NDKs used r21 GStreameSDK 解壓縮內容 建立資料夾命名 GStreameSDK ,存放至 C:\GStreameSDK\1.18.4\ Android NDK 2.       下載 GStreamer 官方範例,點選左邊連結連至 GStreame gitlab ,並點選 gst-doc s 下載範例 gst-docs 3.       載入專案,點選 File->New->ImportProject 新增 gradel.properties gstAndroidRoot = C \:\\ GStreamerSDK \\ 1.18.4 此路徑為剛下載的 GStreamerSDK 位置 gradel.properties 畫面 中間會出現 Exception 錯誤 修改為 ->Exception 出現 GStreamer 未能使用,將 GStreamer.java 複製至專案內 複製位置,將所有 tutorials1-4 資料夾內都複製貼上 編譯完成顯示在實機上

IOS Swift 在某路徑下產生檔案 txt json

語法:         func createFile(name: String , fileBaseUrl: URL ){             let manager = FileManager . default                          let file = fileBaseUrl. appendingPathComponent (name)             print ( "文件: \ ( file )" )             let exist = manager. fileExists (atPath: file. path )             if !exist {                 let data = Data (base64Encoded: "aGVsbG8gd29ybGQ=" ,options:. ignoreUnknownCharacters )                 let createSuccess = manager. createFile (atPath: file. path ,contents:data,attributes: nil )                 print ( "文件產生结果: \ ( createSuccess )" )             }         }                  //新建test.txt文件         let manager = FileManager . default         let urlForDocument = manager. urls ( for: . documentDirectory ,                                            in:. userDomainMask )         let url = urlForDocument[ 0 ]         createFile (name: "projects/new1.

android holder.binding.videoview cannot be played Url

 Recently, Videoview was added to the implementation of RecyclerView, and there was a display error W/Glide: Cannot find GeneratedAppGlideModule. You should include the annotationProcessor compilation dependency on com.github.bumptech.glide:compiler and AppGlideModule in your application holder.binding.videoview.getLayoutParams().height = getScreenWidth (context) * 9 /16; holder.binding.videoview.getLayoutParams().width = getScreenHight (context) * 9 /16; public static int getScreenWidth(Context c) { int screenWidth = 0; // this is part of the class not the method if (screenWidth == 0) { WindowManager wm = (WindowManager) c.getSystemService(Context. WINDOW_SERVICE ); Display display = wm.getDefaultDisplay(); Point size = new Point(); display.getSize(size); screenWidth = size.x; } return screenWidth; } public static int getScreenHight(Context c) { int screenHeight = 0; // this is part of the class not the method if (screenH