如何将信息从文本文件传递给构造函数?
How to pass info to the constructor from a text file?
假设有两个 classes:Exam
和 MainExam
(包含一个 main
方法)。 class考试有一个构造函数
public Exam(String firstName, String lastName, int ID)
class MainExam
从文本文件中读取数据。例如,数据可以是:
John Douglas 57
如何将数据从文本文件传递给构造函数?
您可以参考以下代码片段将文本文件的内容存储在字符串对象中:
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("C:\testing.txt"));
while ((sCurrentLine = br.readLine()) != null) {
// System.out.println(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
文件的内容现在在 sCurrentLine 对象中。使用 StringTokenizer,您可以使用 space 作为分隔符来分隔名字、姓氏和 ID。希望这对您有所帮助!!
您可以使用 StringTokenizer
将数据分成 MainExam
读取的部分。
String str; //data read by MainExam, like: John Douglas 57
String[] values = new String[3]; // size acording to your example
StringTokenizer st = new StringTokenizer(str);
int i=0;
while (st.hasMoreTokens()) {
values[i++] = st.nextToekn();
}
现在你已经在数组 values
中分离了数据。
这是读取文件的代码(以防万一您实际上没有它)
Scanner scanner = new Scanner(new File("C:\somefolder\filename.txt");
String data = scanner.nextLine();
现在,假设您的文件行采用以下格式:
<FirstName> <LastName> <id>
每个元素中没有任何空格,您可以使用正则表达式 " "
来 String#split
您的 data
String[] arguments = data.split(" ");
然后将它们传递给构造函数 (String, String, int)
String fn = data[0];
String ln = data[1];
int id = Integer.parse(data[2]);
new Exam(fn, ln, id);
假设有两个 classes:Exam
和 MainExam
(包含一个 main
方法)。 class考试有一个构造函数
public Exam(String firstName, String lastName, int ID)
class MainExam
从文本文件中读取数据。例如,数据可以是:
John Douglas 57
如何将数据从文本文件传递给构造函数?
您可以参考以下代码片段将文本文件的内容存储在字符串对象中:
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("C:\testing.txt"));
while ((sCurrentLine = br.readLine()) != null) {
// System.out.println(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
文件的内容现在在 sCurrentLine 对象中。使用 StringTokenizer,您可以使用 space 作为分隔符来分隔名字、姓氏和 ID。希望这对您有所帮助!!
您可以使用 StringTokenizer
将数据分成 MainExam
读取的部分。
String str; //data read by MainExam, like: John Douglas 57
String[] values = new String[3]; // size acording to your example
StringTokenizer st = new StringTokenizer(str);
int i=0;
while (st.hasMoreTokens()) {
values[i++] = st.nextToekn();
}
现在你已经在数组 values
中分离了数据。
这是读取文件的代码(以防万一您实际上没有它)
Scanner scanner = new Scanner(new File("C:\somefolder\filename.txt");
String data = scanner.nextLine();
现在,假设您的文件行采用以下格式:
<FirstName> <LastName> <id>
每个元素中没有任何空格,您可以使用正则表达式 " "
来 String#split
您的 data
String[] arguments = data.split(" ");
然后将它们传递给构造函数 (String, String, int)
String fn = data[0];
String ln = data[1];
int id = Integer.parse(data[2]);
new Exam(fn, ln, id);