ファイルから情報を読み取り、その情報からオブジェクトを作成しようとしています。ファイルの約 6 行ごとに異なる単位があります。つまり、最初の行セットはオブジェクト A に関連し、次のセットはオブジェクト B に関連しているということです。
最初のセットでは、ファイルから読み取り、オブジェクトを問題なく作成できます。私の問題は、次のオブジェクトを作成するときに、リーダーが中断した場所から再開する方法がわからないことです...
(注: ファイルを作成する read() メソッドは、作成される新しいオブジェクトの一部であり、main() などではありません)。関連するコードは次のとおりです。
ドライバ:
public class CSD{
public static void main (String[] argv){
Vector V=new Vector(10);
CoS jon=new CoS();
jon.display();
}//end main
}
CoS を呼び出します。そのコンストラクターは次のとおりです。
public CoS(){
try{
String fileName=getFileName();
FileReader freader=new FileReader(fileName);
BufferedReader inputFile=new BufferedReader(freader);
this.read(inputFile);
setDegree(major);
setStatus(credits);
} catch(FileNotFoundException ex){
}//end catch
}
read() と getFileName() の両方を呼び出します。
public void read(BufferedReader inputFile){
try{
int n;
super.read(inputFile);
String str=inputFile.readLine();
if (str!=null){
n=Integer.parseInt(str);
setCredits(n);
str=inputFile.readLine();
setMajor(str);
}//end if
}catch(IOException ex){}
}//end method
public String getFileName() {
Scanner scan = new Scanner(System.in);
String filename;
System.out.print("Enter the file name and path ==> ");
filename = scan.nextLine();
System.out.println("");
return filename;
}
よろしくお願いします!