Access denied on read

I was trying to read a .txt located in a subfolder of my assets folder, I tried a couple of ways to do so, but I always get the same error:

This is my code:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using System.IO;

public class DialogosControl : MonoBehaviour
    public string Script;
    StreamReader reader;
    string[] arr;
    string directory;

    // Start is called before the first frame update
    void OnEnable()
        directory = "Assets/Dialogos";
        if (Directory.Exists(Path.GetDirectoryName(directory))) {
            reader = new StreamReader(directory+"/"+Script);
            Debug.Log("No existe el fichero");

    // Update is called once per frame
    void Update()

        while (!reader.EndOfStream)
            if (Input.GetKeyDown(KeyCode.Mouse0))
                string line = reader.ReadLine();
                arr = line.Split('&');
                GameObject.Find("Character").GetComponent<TextMeshProUGUI>().text = arr[0];
                GameObject.Find("Text").GetComponent<TextMeshProUGUI>().text = arr[1];

Thanks in advance.

You’ll need to use the StreamingAssets folder for that. Unity - Scripting API: Application.streamingAssetsPath

For all available paths and what they can be used for, refer to: Unity - Scripting API: Application