如何从Unity中从指定路径获取的文件列表中删除文件?

问题描述 投票:-1回答:1

我从Application.persistentDataPath获取文件并将其显示为列表。列表中的每个名称都包含一个删除按钮。当我单击删除按钮时,需要删除指定的文件。下面的代码不起作用。

public void ListMap()
{
    panellist.SetActive(true);
    string mainpath = Application.persistentDataPath;
    DirectoryInfo dir = new DirectoryInfo(mainpath);
   // FileInfo[] info = dir.GetFiles("*.json");


    info = dir.GetFiles("*.json");

    int icopy=0;
    for(int i = 1;i<=info.Length;i++)
    {
         lisobj = Instantiate(prefabpanellist);

            lisobj.transform.SetParent(Parentcontent);
            number.text = i.ToString();
            mapnamedb.text =info[i-1].Name;
             icopy = i;
        Debug.Log("ivalue forloop = " + icopy);
        var button = lisobj.GetComponentInChildren<Button>();
        Debug.Log("Button name = "+button.name);
        if (button != null)
        {
            button.onClick.AddListener(() => Deleteinformation(icopy));
        }

    }



}

public void Deleteinformation(int ivalue)
{
    Debug.Log("ivalue is = " + ivalue);
    string mainpath = Application.persistentDataPath;
   // File.Delete(mainpath + info[ivalue-1]);
    // Debug.Log("ivalue is = "+ivalue);
    File.Delete(mainpath + info[ivalue - 1]);

}

错误是 - 1)当我单击不同的按钮时,它试图删除相同的文件 - Modeldetails1.json

2)找不到路径“/ Users / ar / Library / Application Support / Systica / Mapping / Users / ar / Library / Application Support / Systi / Mapping / Modeldetails1.json”的一部分。

Delete Button

c# unity3d arkit
1个回答
0
投票

试试用

File.Delete(Path.Combine(mainpath, info[ivalue-1]));
© www.soinside.com 2019 - 2024. All rights reserved.