gpt4 book ai didi

java - 将文件复制到数组中 (Java)

转载 作者:太空宇宙 更新时间:2023-11-04 12:13:08 25 4
gpt4 key购买 nike

我正在尝试读入一个文件,将其放入数组中并打印它。

我不确定这段代码做错了什么。我一直在尝试寻找解决方案,但我能找到的所有解决方案都比我们应该使用的解决方案更先进...我使用相同的方法编写了一个先前的程序,但作为 Double 数组。我似乎无法让它适用于字符串?

当我运行它时,我不断收到[Ljava.lang.String;@3d4eac6。

我只是想让它打印boysNames。 boyNames.txt 只是文本文件中 200 个姓名的列表。

请有人帮助我,或者让我知道这是否可能?

这是我到目前为止的代码

public static void main(String[] args) throws FileNotFoundException {



String[] boyNames = loadArray("boyNames.txt");
System.out.println(boyNames);
}

public static String[] loadArray(String filename) throws FileNotFoundException{
//create new array
Scanner inputFile = new Scanner(new File (filename));
int count = 0;
//read from input file (open file)
while (inputFile.hasNextLine()) {
inputFile.nextLine();
count++;
}
//close the file
inputFile.close();

String[] array = new String[count];
//reopen the file for input
inputFile = new Scanner(new File (filename));
for (int i = 0; i < count; i++){
array[i] = inputFile.nextLine();
}
//close the file again
inputFile.close();
return array;
}

`

最佳答案

Java 数组不会覆盖 Object.toString() ,因此当您尝试使用 System.out.println() 打印它时,您会得到一个通用的 [Ljava.lang.String;@3d4eac6 (或类似的)。相反,循环遍历数组并打印每个值。

for (String boyName : boyNames) {
System.out.println(boyName);
}

或者,您可以使用 Arrays.toString() :

System.out.println(Arrays.toString(boyNames));

另一种选择是使用 String.join() (Java 8 的新功能)

System.out.println(String.join("\n", boyNames));

关于java - 将文件复制到数组中 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39683348/

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