【发布时间】:2018-08-23 18:10:04
【问题描述】:
我有这个java 方法,它返回一个ArrayList,但我想返回一个字符串数组。该方法读取文件 words.txt(包含每行一个单词的所有单词),我想将这些单词存储到一个字符串数组中。
这是我已有的代码:
public static ArrayList<String> readFile(){
File myFile=new File("./src/folder/words.txt");
Scanner s1=null;
//Creates ArrayList to store each String aux
ArrayList<String> myWords = new ArrayList<String>();
try {
s1 = new Scanner(myFile);
}catch (FileNotFoundException e) {
System.out.println("File not found");
e.printStackTrace();
}
while(s1.hasNext()){
String aux=s1.next();
System.out.println(aux);
}
s1.close();
return myWords;
}
我可以更改此代码以返回字符串 [] 吗?
【问题讨论】:
-
“我可以更改此代码以返回字符串 [] 吗?” - 可以,但是。在声明数组之前,您需要知道要到达的数字行。或者,您可以将内容读入
ArrayList,然后使用它创建一个新的Strings 数组(因为您将知道需要多少元素)。在旁注中。你根本不应该引用src,一旦程序被编译和导出,它就不会存在。如果出现错误,您也不应该从s1读取,这将创建一个NullPointerException -
看到这个question,也一样
-
我知道行数,所以我想我可以做到!我应该创建对象字符串数组吗?大小和那些东西?或者你是怎么建议的?请问可以打码吗?这可能会有很大帮助。
标签: java arrays string oop arraylist