Jump to content
Unity Insider Forum

Probleme mit Resources.Load


Haegar

Recommended Posts

Hallo *,

 

ich möchte gerne eine externe Text-Datei von der Festplatte laden. Dazu verwende ich:

 

 

	void Start () {

  	 if (System.IO.File.Exists("Resources/Ausschluss.txt"))
		LoadTxtFromResource("Resources/Ausschluss.txt");
}	

static void LoadTxtFromResource (string fileName) {

	int i;
	string s;
	TextAsset sta;

	sta = Resources.Load(fileName) as TextAsset;
	Debug.Log(sta.text);

	string[] dataLines = sta.text.Split("\n"[0]);
	for (i = 0; i < dataLines.Length ; i++){
		s = dataLines[i];
		Debug.Log (s);
	}			

}

 

 

Das TextAsset ist aber nach dem Laden leer; ich erhalte ständig eine NullReferenceException. Das File existiert. Wieso kann ich das nicht laden?

 

Weiß jemand Rat?

 

Danke,

Ulrich

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sollte dein Textfile im Projektassetpfad liegen, probiere es mal mit diesem Pfad, oder siehe Sascha's Vorschlag, denke aber generell es ist ein Pfadproblem...:

string texture = "Assets/Resources/Ausschluss.txt";
oder
string texture = "Ausschluss.txt"; (siehe Sascha's Vorschlag)
oder
string texture = "Ausschluss";

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die Vorschläge, aber es haut nix hin. Mich wundert halt, dass bei der Überprüfung, ob das File existiert, ein true zurückkommt, aber das File trotzdem nicht eingelesen werden kann...

 

if (System.IO.File.Exists("Resources/Ausschluss.txt"))
  LoadTxtFromResource("Resources/Ausschluss.txt");

 

Mit Groß- & Kleinschreibung etc. hab ich auch schon experimentiert.

 

Jetzt weiss ich auch nicht mehr weiter...

 

Ulrich

Link zu diesem Kommentar
Auf anderen Seiten teilen

Haegar, du hast meinen Post offenbar nicht gelesen.

File.Exists schaut relativ zum Projekt (vermutlich), aber Resources.Load schaut relativ zu einem imaginären Ordner, der zum Inhalt die Inhalte aller Ordner mit Namen "Resources" im Projekt hat.

Richtig also eher:

if (System.IO.File.Exists("Resources/Ausschluss.txt"))
  LoadTxtFromResource("Ausschluss.txt");

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Sascha,

 

ich hab das schon gelesen, aber es hat bisher nix zum Erfolg geführt. Mittlerweile habe ich zu Testzwecken in fast allen Ordnern ne Datei "Ausschluss.txt".

 

Ich vermute fast, dass das Problem woanders liegt. Vielleicht ist die Datei zu groß (178 kb), vielleicht muss die Endung anders lautet (ne, bei Textdateien nicht) oder oder oder.

 

Ich verstehe es nicht...

 

 

### Ich habs rausgekriegt... ###

 

Die Endung ".txt" muss entfernt werden. Das ist alles... Also nur:

 

if (System.IO.File.Exists("Resources/Ausschluss.txt"))
  LoadTxtFromResource("Ausschluss");

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...