unity android sd卡路徑,一、文件與路徑——2、unity路徑特點寫法和文件讀寫全攻略...

1、Unity中各路徑和目錄的對應關系

e46ea0ac1480

image.png

其中,安卓中的路徑是有兩種分支的

e46ea0ac1480

image.png

在打包面板中,有個Write Access

當我們選擇Internal Only就是表示沙盒路徑,/data/data/com.xxx.xxx/

對應的Android方法為 getFilesDir()

當我們選擇SDCard時就表示存儲到SD卡上,: /storage/emulated/0/Android/data/com.example.myapplication/files

2、各個路徑的特點

Resources

是作為一個Unity的保留文件夾出現的,也就是如果你新建的文件夾的名字叫Resources,那么里面的內容在打包時都會被無條件的打到發布包中。

特點:

只讀,即不能動態修改。所以想要動態更新的資源不要放在這里。

會將文件夾內的資源打包集成到.asset文件里面。因此建議可以放一些Prefab,因為Prefab在打包時會自動過濾掉不需要的資源,有利于減小資源包的大小。

資源讀取使用Resources.Load()。

任何平臺都可以用File讀取

StreamingAssets

StreamingAssets和Resources很像。同樣作為一個只讀的Unity3D的保留文件夾出現。不過兩者也有很大的區別,那就是Resources文件夾中的內容在打包時會被壓縮和加密。而StreamingAsset文件夾中的內容則會原封不動的打入包中,因此StreamingAssets主要用來存放一些二進制文件。在任何平臺中總可以統一使用Application.streamingAssetsPath 屬性來獲得這一文件夾路徑。

特點:

PC端可讀寫,移動端只讀不可寫。

主要用來存放二進制文件,配置文件。

注意,在Android中,StreamingAssets中的文件包含在一個.jar壓縮文件(基本上與標準的zip為統一格式)中,所以移動端時只能用過UnityWebRequest類來讀取。在PC下,可以用File類API(如File.ReadAllText)讀寫StreamingAssets文件夾中的文件;在IOS和Android平臺下,不能用File類API讀取。

任何平臺都可以用www方式異步讀取該文件夾內容。PC和IOS平臺下,讀取路徑必須加上"file://",而安卓不需要。

在IOS和Android下,還能用AssetBundle.LoadFromFile來同步讀取數據。

PersistentDataPath

這個路徑下是可讀寫。而且在IOS上就是應用程序的沙盒,但是在Android可以是程序的沙盒,也可以是sdcard。并且在Android打包的時候,ProjectSetting頁面有一個選項Write Access,可以設置它的路徑是沙盒還是sdcard。

特點:

-可讀寫,不過只能運行時才能寫入或者讀取。 提前將數據存入這個路徑是不可行的。

無內容限制。你可以從 StreamingAsset 中讀取二進制文件或者從 AssetBundle 讀取文件來寫入 PersistentDataPath 中。

寫下的文件,可以在電腦上查看。同樣也可以清掉。

可以使用UnityWebRequest類來讀取。

可以用File類API(如File.ReadAllText)讀寫PersistentDataPath文件夾中的文件(安卓下唯一可以用File類的路徑)

Application.DataPath

注意移動端是沒有訪問權限的

3、Unity文件的讀寫方式

幾個文件操作類介紹

1、File類和FileInfo類的介紹:

File類和FileInfo類都是提供用于創建、復制、刪除、移動和打開文件的方法,一個是靜態的,一個是實例方法。簡單來說,就是Flie類可以直接通過類名調用其中的某些函數,而FileInfo類需要先實例化一個對象,再通過對象調用函數。一般來說,如果是對文件進行少量的操作,則建議用File類,如果是對文件進行大量的存取操作,建議用FileInfo類,具體原因參照這 。 這里是官方的文檔,File類, FileInfo類。

2、FileStream類和StreamWriter,StreamReader類的簡單介紹:

FileStream類是一個操作類,FileStream 對象表示在磁盤或網絡路徑指向文件的流,這個類提供了在文件中讀寫字節的方法。簡單來說就是這個Filestream這個文件流對 .txt等文件讀寫內容時需要使用的一個工具。如果File類是一個總的文件的話,那么fileStream類就是對文件進行操作的筆。 FileStream類和StreamWriter,StreamReader類的區別在于FileStream類操作的是字節和字節數組,而StreamWriter等類操作的是字符數據。StreamWriter類操作的只能是文本類型的,而FileStream類的對象可以是任何類型的。操作文本的話用StreamWriter等比較方便。

下面是用File和FileInfo兩種方式去創建文件,以及用StreamWriter寫文件的方法

File方式

using UnityEngine;

using System.Collections;

using System.Collections.Generic;

using System.IO;

public class FileOperate : MonoBehaviour {

public void WriteFileByLine(string file_path,string file_name,string str_info)

StreamWriter sw;

if(!File.Exists(file_path+"//"+file_name))

sw=File.CreateText(file_path+"//"+file_name);//創建一個用于寫入 UTF-8 編碼的文本

Debug.Log("文件創建成功!");

else

sw=File.AppendText(file_path+"//"+file_name);//打開現有 UTF-8 編碼文本文件以進行讀取

sw.WriteLine(str_info);//以行為單位寫入字符串

sw.Close ();

sw.Dispose ();//文件流釋放

void Start()

WriteFileByLine (Application.persistentDataPath,"my_newfile.txt","信息");

FileInfo方式

public void WriteFileByLine(string file_path,string file_name,string str_info)

StreamWriter sw;

FileInfo file_info = new FileInfo (file_path+"//"+file_name);

if(!file_info.Exists)

sw=file_info.CreateText();//創建一個用于寫入 UTF-8 編碼的文本

Debug.Log("文件創建成功!");

else

sw=file_info.AppendText();//打開現有 UTF-8 編碼文本文件以進行讀取

sw.WriteLine(str_info);

sw.Close ();

sw.Dispose ();//文件流釋放

4、Unity路徑解疑

上面了解各個路徑的特性,讀寫方式,但是還有一個經常容易犯錯的地方,就是路徑的寫法。

Unity3D關于路徑資源的調用分為絕對路徑和相對路徑,

絕對路徑

windows下:

path = "file://D:\TestFile\Cat\" + Number + ".png";

這種寫法,因為斜杠需要轉移,所以這里是雙斜杠,不然報語法錯誤,有些時候沒寫雙斜杠但又不報語法錯,但是路徑是錯誤的,就很難發現問題。

所以建議用另外一種寫法:

@"file:///D:\TestFile\Cat" + Number + ".png";或者@"file://D:\TestFile\Cat" + Number + ".png";

file后面跟三個斜杠或者兩個斜杠都行。

安卓下:

path ="jar:file://"+PersistentDataPath(示例)+ Number + ".png";

注:因為在安卓下對unity來說也只有PersistentDataPath,StreamingAssets這幾個路徑是可用的,通常不會這么使用,可以忽略,而且絕對路徑限制大,一般采用相對路徑。

相對路徑

PC上:

url = Application.persistentDataPath + "/mydir/qq.txt";

或者

string path= Path.Combine(Application.persistentDataPath, fillName);

安卓下:

"file://" + Application.streamingAssetsPath + "\TestFile\Cat\" + Number + ".png";

"file://" + Application.PersistentDataPath+ "\TestFile\Cat\" + Number + ".png";

或者"file://" + Path.Combine(Application.persistentDataPath, fillName);

總之,路徑寫法的東西,不行就多是一兩次就好了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529932.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529932.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529932.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

html 圖片行內劇中,HTML入門(轉義字符、行內樣式和塊級元素、定位、錨點、跑馬燈標簽、圖片標簽、表格標簽的講解)...

一、轉義字符由特殊字符包裹的文本 會當做標簽去解析對應不換行空格對應全角空格 em是字體排印學的計量單位&#xff0c;相當于當前指定的點數。其占據的寬度正好是1個中文寬度&#xff0c;而且基本上不受字體影響。<對應<>對應>二、行內元素和塊級元素1.塊級標簽默…

html scale方法的作用,HTML Canvas scale() 方法

實例繪制矩形&#xff0c;放大到 200%&#xff0c;然后再次繪制矩形&#xff1a;YourbrowserdoesnotsupporttheHTML5canvastag.JavaScript&#xff1a;var cdocument.getElementById("myCanvas");var ctxc.getContext("2d");ctx.strokeRect(5,5,25,15);ctx…

html屏幕輸出筆記本,筆記本怎樣外接顯示器 筆記本外接顯示器方法【詳解】

摘要&#xff1a;筆記本電腦怎樣外接顯示器?一些用戶用慣了大屏臺式電腦的朋友&#xff0c;改用筆記本玩游戲&#xff0c;看電影等開始會很不習慣&#xff0c;由于筆記本的屏幕與鍵盤相比臺式機要小上一大截。如果身邊有顯示器或者液晶電視的話&#xff0c;不妨動手體驗下筆記…

江陵中學2021高考成績查詢,2021高考序幕拉開 荊州38080名考生赴考

十年寒窗磨一劍&#xff0c;只待今朝問鼎時&#xff0c;6月7日上午&#xff0c;2021年全國高考正式拉開序幕&#xff0c;荊州3.8萬余名考生迎來人生大考。上午8點&#xff0c;在湖北省沙市中學考點周圍&#xff0c;不少身著紅色送考服的班主任們正在給考生們發放準考證&#xf…

html怎么播放下一首,javascript – HTML5音頻播放列表 – 第一個結束后如何播放第二個音頻文件?...

這是一個JSLinted,不引人注目的Javascript示例,演示如何處理和使用結束的mediaevent.在您的特定情況下,您將觸發在您的結束事件處理程序中播放第二個音頻文件.單擊播放列表中的項目開始播放.一個音頻結束后,下一個音頻開始.標記&#xff1a;(注意,有意避免< li>元素之間的…

排球制作html,MAYA打造排球建模教程

這篇教程向悠悠之家的朋友們介紹用MAYA打造排球模型的過程&#xff0c;制作很簡單&#xff0c;希望對剛學習MAYA建模的朋友們有所幫助&#xff0c;我們先看看最終的效果圖&#xff1a;你們一定學過很多創建一個球的技巧&#xff0c;但在這個入門教學里面&#xff0c;我們將要學…

北大計算機系統結構學碩,轉自包云剛,希望的原野?最近幾個月參加了計算所、北大、上海交大多位計算機系統結構碩士與博士的答辯,說幾點體會:?①?高水平國際論文越來越多。簡單...?-?雪球...

來源&#xff1a;雪球App&#xff0c;作者&#xff1a; 逍遙劍99&#xff0c;(https://xueqiu.com/1732900127/153778925)最近幾個月參加了計算所、北大、上海交大多位計算機系統結構碩士與博士的答辯&#xff0c;說幾點體會&#xff1a;① 高水平國際論文越來越多。簡單統計了…

計算機主機箱前后都有什么,目前四種熱門的主機機箱設計都有哪些優缺點?

在DIY里面機箱算是最沒技術含量的產品之一&#xff0c;不過它卻是與DIYer接觸時間最長的東西。氣味大師每天都會按下機箱開機鍵&#xff0c;也會空余時間瞄上幾眼。機箱確實是對DIY影響最大的產品之一&#xff0c;今天我來盤點一下2018年見過的幾個主流機箱設計方案。說是機箱設…

微型計算機硬盤接口主要分為,北京交通大學微機原理與接口技術_期末復習題_圖文...

北京交通大學微機原理與接口技術_期末復習題_圖文更新時間&#xff1a;2017/1/26 18:34:00 瀏覽量&#xff1a;1285 手機版“微機原理與接口技術”2008年期末考試復習題1. 微機系統的硬件由哪幾部分組成&#xff1f;答&#xff1a;三部分&#xff1a;微型計算機(微處理器&…

計算機自然語言的中國科學家,中科院教授王斌加入小米 任自然語言處理首席科學家...

王斌新浪科技訊 8月28日上午消息&#xff0c;小米新經濟研究中心發布微信文章稱&#xff0c;中國科學院信息工程研究所研究員、博士生導師王斌已于8月20日正式加入小米集團&#xff0c;任AI實驗室自然語言處理(Natural Language Processing&#xff0c;NLP)首席科學家&#xff…

springcloud 相同服務名_淺談分布式與微服務

分布式和微服務是什么關系&#xff1f;簡單來說&#xff0c;分布式和微服務的概念比較相似&#xff0c;分布式屬于微服務。但是分布式和微服務在架構、作用和粒度上有所區別。因此&#xff0c;兩者的關系是既相互聯系又相互區別。本文主要帶大家認識分布式和微服務&#xff0c;…

html div 子元素 過多 卡頓,CSS不定高元素transition動畫的解決方案

CSS不定高元素transition動畫的解決方案類別&#xff1a; 技術CSS時間&#xff1a;2019-07-27 23:41:35字數&#xff1a;3297版權所有&#xff0c;未經允許&#xff0c;請勿轉載&#xff0c;謝謝合作~### 前言CSS中transition可以方便的實現我們的過渡動畫效果&#xff0c;但并…

bat 變量 文件內容第一行_VBA基礎入門(38)FSO生成bat文件后執行的實例

1.首先&#xff0c;我們回顧下FSO是什么&#xff1f;文件系統對象FSO的英文全稱是File System Object &#xff0c;這種對象模型提出了有別于傳統的文件操作語句處理文件和文件夾的方法。通過采用object.method這種在面向對象編程中廣泛使用的語法&#xff0c;將一系列操作文件…

HTML5廢除元素,HTML5 與 HTML4 的區別(2) - 新增的元素和廢除的元素

新增的結構元素在 HTML5 中&#xff0c;新增了以下與結構相關的元素&#xff1a;section元素section 元素表示頁面中的一個內容區塊&#xff0c;比如章節、頁眉、頁腳或頁面中的其他部分。它可以與h1、h2、h3、h4、h5、h6等元素結合起來使用&#xff0c;標識文檔結構。HTML5 中…

ps怎么更改背景圖層大小_PhotoShop處理圖層的一些技巧方法、PS圖層處理教程

一、了解圖層以及為什么它們如此有用。1.在“圖層”面板中查看和選擇圖層2.層包含組成分層文件的圖像&#xff0c;文本或對象。它們使您可以在一層上移動&#xff0c;編輯和使用內容&#xff0c;而不會影響其他層上的內容。3.圖層在“ 圖層”面板中按堆棧排列&#xff0c;該面板…

zabbix計算型監控項函數last_zabbix 自定義key類型之計算(Calculated items)-阿里云開發者社區...

計算類型的key定義主要是根據已定義過的key值來計算的。例如創建一個計算linux服務器內存實際使用大小的監控項(計算方法為&#xff1a;vm.memory.size[total]-vm.memory.size[cached]-vm.memory.size[free])&#xff0c;方法如下&#xff1a;1、在模板中或是主機中選擇監控項-…

使用計算機畫畫需要什么軟件,專業電腦繪畫用的是什么工具?

滿意答案srCDG3SL62013.11.13采納率&#xff1a;57% 等級&#xff1a;12已幫助&#xff1a;11125人電腦硬件配置(CPU,內存&#xff0c;顯卡等)越高&#xff0c;繪制大圖時&#xff0c;軟件不會卡。就會畫的很流暢。特別是Painter&#xff0c;模擬自然畫筆越真實&#xff0c;…

中如何移動物體在畫面中的位置_組合柜擺在客廳中什么位置最旺運?客廳中,財位是如何確定的?...

組合柜擺在客廳中什么位置最旺運&#xff1f;組合柜在風水中的重要性不如沙發&#xff0c;但要注意的宜忌事項也有很多。風水上講高者為山&#xff0c;低者為水&#xff0c;有高有低&#xff0c;有山有水&#xff0c;才符合風水原理。在客廳中&#xff0c;低的沙發是水&#xf…

計算機概論在線閱讀,計算器概論 or 計算機概論

計算機硬件的五大單元輸入單元、輸出單元、CPU內部控制單元、算數邏輯單元、主存儲器。中央處理器 CPU Central Processing UnitCPU 的種類精簡指令集 Reduced Instruction Set Computing, RISCSun SPARCIBM Power Architecture復雜指令集 Complex Instruction Set Comp…

螺旋天線有方向性嗎_螺旋天線方向圖

luoxuan13度.zip.zip我畫的二臂螺旋天線同軸電纜饋電&#xff0c;得到的方向圖是酒杯形狀的&#xff0c;而不是半球行的&#xff0c;修改了好多次參數都是這樣&#xff0c;這可如何是好&#xff0c;我的模型有問題么&#xff1f;還是哪里出了問題&#xff0c;請幫忙。怎么沒人幫…