gpt4 book ai didi

java - 如何将记事本中的字符串文本逐行转换为数组?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:29 27 4
gpt4 key购买 nike

我是编程初学者。我目前正在学习如何将记事本中的文本逐行转换为数组。记事本中的文本实例,

I am a high school student
I love banana and chicken
I have 2 dogs and 3 cats

等等..

在这种情况下,数组[1] 将是字符串“I love banana and chicken”。记事本中的行可以更新,我希望数组是动态的/灵活的。我曾尝试使用扫描仪来识别每一行并尝试将它们传输到阵列。请引用我的代码:

import java.util.*;
import java.io.*;
import java.util.Scanner;

class Test
{
public static void main(String[] args)
throws Exception
{
File file = new File("notepad.txt");
Scanner scanner = new Scanner(file);
String line;
int i = 0;
int j = 0;

while (scanner.hasNextLine()) {
i++;
}

String[] stringArray = new String[i];

while (scanner.hasNextLine()) {
line = scanner.nextLine();
stringArray[j] = line;
j++;
}

System.out.println(stringArray[2]);

scanner.close();
}
}

我不确定为什么会出现运行时错误,我尝试了另一种方法,但仍然没有产生我想要的结果。

最佳答案

第一个循环将是无限的,因为您检查扫描仪是否有下一行,但从不推进其位置。虽然使用 Scanner 很好,但似乎工作量很大,您可以让 Java 的 nio 包为您完成繁重的工作:

String[] lines = Files.lines(Paths.get("notepad.txt")).toArray(String[]::new);

关于java - 如何将记事本中的字符串文本逐行转换为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41512196/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com