Quelqu'un peut-il m'aider à donner les étapes nécessaires pour lire les données du fichier texte dans l'unité et comment ajouter le script.
Quelqu'un peut-il m'aider à donner les étapes nécessaires pour lire les données du fichier texte dans l'unité et comment ajouter le script.
Réponses:
using System.IO;
void readTextFile(string file_path)
{
StreamReader inp_stm = new StreamReader(file_path);
while(!inp_stm.EndOfStream)
{
string inp_ln = inp_stm.ReadLine( );
// Do Something with the input.
}
inp_stm.Close( );
}
EDIT: (Correction d'une erreur sur la ligne 9; changé "stm.ReadLine ();" en "inp_stm.ReadLine ();")
Il existe une classe nommée TextAssets qui est utilisée pour la lecture de fichiers texte. http://docs.unity3d.com/Manual/class-TextAsset.html Ici vous pouvez trouver le format de fichier pris en charge.
Donc, si vous voulez lire le fichier texte, le script serait comme ceci:
class YourClassName : MonoBehaviour{
public TextAsset textFile; // drop your file here in inspector
void Start(){
string text = textFile.text; //this is the content as string
byte[] byteText = textFile.bytes; //this is the content as byte array
}
}
ou vous pouvez lire le texte comme ressource comme ceci:
TextAsset text = Resources.Load("YourFilePath") as TextAsset;
TextAsset
question en question devrait probablement être placée dans le Assets/Resources
dossier. C'est la réponse la plus correcte car toutes les autres réponses semblent ignorer le fait que cela se trouve dans Unity. Ce sont des façons correctes de lire un fichier en C # mais ils ignorent des choses comme le déploiement et les chemins multiplateforme.
Ce code fonctionne bien pour moi pour lire le contenu du fichier texte
import System.IO;
var filename="data.txt";
function Start () {
var sourse=new StreamReader(Application.dataPath+"/" + filename);
var fileContents=sourse.ReadToEnd();
sourse.Close();
var lines=fileContents.Split("\n"[0]);
for(line in lines) {
print(line);
}
}