Ich habe ein Programm, das eine Datei unter Verwendung eines vom Benutzer angegebenen Dateinamens einliest. Alle Dateiinhalte müssen gelesen und im Array gespeichert werden. Ich habe die IO neben diesem Fehler korrekt gemacht. Ich verstehe, was der Fehler ist, aber nicht sicher, wie zu korrigieren ist.String kann nicht in Array konvertiert werden
BEARBEITEN: Das Array ist bereits in der Datei definiert.
Zoo.java:284: error: incompatible types: String cannot be converted to Animals
animals[ j ] = bufferedReader.readLine();
Hier ist mein Code für das Submodul readfile:
public String readFile(Animals[] animals)
{
Scanner sc = new Scanner(System.in);
String nameOfFile, stringLine;
FileInputStream fileStream = null;
BufferedReader bufferedReader;
InputStreamReader reader;
System.out.println("Please enter the filename to be read from.");
nameOfFile = sc.nextLine();
try
{
constructed = true;
fileStream = new FileInputStream(nameOfFile);
bufferedReader = new BufferedReader(new InputStreamReader(fileStream));
while((stringLine = bufferedReader.readLine()) != null)
{
for(int j = 0; j < animals.length; j++)
{
animals[j] = bufferedReader.readLine();
}
}
fileStream.close();
}
catch(IOException e)
{
if(fileStream != null)
{
try
{
fileStream.close();
}
catch(IOException ex2)
{
}
}
System.out.println("Error in file processing: " + e.getMessage();
}
}
Danke für die Hilfe.
Wo ist das Array animals [] definiert? Sie müssen ein neues Objekt Ihrer Animal-Klasse erstellen, um das Array auszufüllen. 'tier [j] = neues Tier (Ihre Linie);' –
Das Array Animals [] ist bereits in der gleichen Datei definiert. – John
Verwenden Sie alle Zeilen als Zeichenfolge oder verwenden Sie einen String-Builder. Als nächstes erstellen Sie Ihr Array mit der Länge der Zeichenfolge oder des Stringbuilders. Zuletzt verwenden Sie eine for-Schleife mit string/stringbuilder. Length und chaAt (i) – Sedrick