Как удалить файл из списка файлов, который взят по указанному пути в Unity? - PullRequest
0 голосов
/ 08 апреля 2019

Я получил файлы из 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) Не удалось найти часть пути "/ Пользователи / ar / Библиотека / Поддержка приложений / Systica / Отображение / Пользователи / ar / Библиотека / Поддержка приложений / Systi / Mapping / Modeldetails1.json".

Delete Button

1 Ответ

0 голосов
/ 08 апреля 2019

Попробуйте использовать

File.Delete(Path.Combine(mainpath, info[ivalue-1]));
...