사용자가 지정한 파일 이름을 사용하여 파일을 읽는 프로그램이 있습니다. 모든 파일 내용을 읽고 배열에 저장해야합니다. 나는이 오류 외에도 IO를 올바르게 수행 한 것 같습니다. 오류가 무엇인지 이해하지만 해결 방법을 모르겠습니다.문자열을 배열로 변환 할 수 없습니다.
EDIT : 배열이 이미 파일에 정의되어 있습니다. 도움을
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();
}
}
감사 :
Zoo.java:284: error: incompatible types: String cannot be converted to Animals
animals[ j ] = bufferedReader.readLine();
다음은 ReadFile을 서브 모듈 내 코드입니다.
animals [] 배열은 어디에 정의되어 있습니까? 배열을 채우기 위해 Animal 클래스의 새 객체를 만들어야합니다. 'animal [j] = new Animal (your line); –
Animals [] 배열은 이미 같은 파일에 정의되어 있습니다. – John
모든 행을 문자열로 읽거나 문자열 작성기를 사용하십시오. 다음으로 문자열 또는 stringbuilder의 길이를 사용하여 배열을 만듭니다. 마지막으로 for 루프를 string/stringbuilder와 함께 사용하십시오. 길이와 chaAt (i) – Sedrick