我正在尝试将文本文件中的每一行拆分为一个数组中的单元格。我可以使用split函数而不计算行数来创建数组吗?
我正在使用Scanner
从扫描仪读取文件。该文件在每一行中包含以下格式:number_number
我想将number_number
作为字符串保存到Array的单元格中。
但是,我不知道文本文件中可以设置几行以设置数组大小。我没有t want to use
LinkedList`,请使用不会有太多行的假设。
是否可以从文件读取并将每一行保存到数组的单元格中?
将方法从扫描仪更改为另一种方法没有问题。
当前代码中的问题是它仅将第一行保存在文件中。
public String[] readFromFileToStringArray(String s) {
Scanner scanner = null;
try {
scanner = new Scanner(new File(s));
} catch (IOException e) {
e.printStackTrace();
}
String[] fileText = null;
if (scanner != null)
while (scanner.hasNext())
fileText = scanner.nextLine().split("\n");
return fileText;
}
答案 0 :(得分:2)
使用scanner.nextLine()
时,您会读取文本直到\n
字符为止,因此您所做的拆分是没有意义的,因为行字符串将没有此字符。
您可以读取所有文件,然后将其拆分:
public String[] readFromFileToStringArray(String s) {
String text = new String(Files.readAllBytes(Paths.get(s)),
StandardCharsets.UTF_8);
return text.split("\n");
}
但实际上,正如另一个回答所说的那样,最好只使用List
答案 1 :(得分:0)
您是否应该更改将字符串添加到数组的方式?
fileText.add(scanner.nextLine());
OR:
List<String> list = new ArrayList<String>(Arrays.asList(fileText));
list.addAll(Arrays.asList(scanner.nextLine().splite("\n")));
String[] fileText = list.toArray();
答案 2 :(得分:0)
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('<kviz/', views.kviz, name='kviz'), # The kviz view just renders the page.
]
java文件是最简单的方法。