如何从文件中读取由 return 分隔的字符串
How to read strings separated by return from a file
我的任务是使用 5 种不同的排序算法将字典重新按字母顺序排列。我已经处理了算法。我遇到的问题是能够从文件中读取一串文本并在单词定义结束的地方停止而不移动到下一个条目。这意味着我需要数组的每个索引都是一个词,它的定义如下:
a[i] = "coronet: n. inferior crown denoting, according to its form, various degrees of noble rank less than sovereign.";
它取自如下排列的列表:
//开始列表
"正交的:adj. 具有直角或由直角确定。
deviate: v. 走不同的路线。
皇冠:n。下等王冠,根据其形式,表示低于君主的不同程度的贵族等级。
incite: v. 引起特定的行为。
deface: v. 损坏或毁容的面部或外表面。
//结束列表
从那里我实际上可以对这个数组进行排序,但我目前无法使用扫描仪正确区分每个定义的结束位置。
我没有任何代码可以改进,我只需要一个解决这个问题的方法。
如有任何建议,我们将不胜感激!
如果我错了请纠正我,但根据您的示例,每个定义都以新行开头。在这种情况下,您可以使用此代码一次读取一行。
ArrayList<String> defs = new ArrayList<String>();
Scanner sc = new Scanner(new File(*path*));
while(sc.hasNextLine()){
defs.add(sc.nextLine());
}
我的任务是使用 5 种不同的排序算法将字典重新按字母顺序排列。我已经处理了算法。我遇到的问题是能够从文件中读取一串文本并在单词定义结束的地方停止而不移动到下一个条目。这意味着我需要数组的每个索引都是一个词,它的定义如下:
a[i] = "coronet: n. inferior crown denoting, according to its form, various degrees of noble rank less than sovereign.";
它取自如下排列的列表:
//开始列表
"正交的:adj. 具有直角或由直角确定。
deviate: v. 走不同的路线。
皇冠:n。下等王冠,根据其形式,表示低于君主的不同程度的贵族等级。
incite: v. 引起特定的行为。
deface: v. 损坏或毁容的面部或外表面。
//结束列表
从那里我实际上可以对这个数组进行排序,但我目前无法使用扫描仪正确区分每个定义的结束位置。
我没有任何代码可以改进,我只需要一个解决这个问题的方法。
如有任何建议,我们将不胜感激!
如果我错了请纠正我,但根据您的示例,每个定义都以新行开头。在这种情况下,您可以使用此代码一次读取一行。
ArrayList<String> defs = new ArrayList<String>();
Scanner sc = new Scanner(new File(*path*));
while(sc.hasNextLine()){
defs.add(sc.nextLine());
}