Java 将文本文件中的每个元素传输到数组中
我使用此方法接收file.txt并将其元素传输到数组列表中。 我的问题是,我不想把一整行转换成一个字符串。我想把行中的每个元素都当作字符串Java 将文本文件中的每个元素传输到数组中,java,arraylist,text-files,Java,Arraylist,Text Files,我使用此方法接收file.txt并将其元素传输到数组列表中。 我的问题是,我不想把一整行转换成一个字符串。我想把行中的每个元素都当作字符串 public ArrayList<String> readData() throws IOException { FileReader pp=new FileReader(filename); BufferedReader nn=new BufferedReader(pp); ArrayList<Str
public ArrayList<String> readData() throws IOException {
FileReader pp=new FileReader(filename);
BufferedReader nn=new BufferedReader(pp);
ArrayList<String> data=new ArrayList<String>();
String line;
while((line=nn.readLine()) != null){
data.add(line);
}
xoxo.close();
return data;
}
有可能吗?如果“元素”指的是每个单词,那么只需更改即可
line = nn.readLine()
到
应该可以解决您的问题,因为read方法将接收它读取的每个字符,直到它遇到一个空格字符,它将返回处理过的字符。然而,如果元素指的是每个字符,那么问题就更难了。您需要阅读每个单词,并使用Java提供的任何函数将字符串拆分。如果“元素”是指每个单词,则只需更改即可
line = nn.readLine()
到
应该可以解决您的问题,因为read方法将接收它读取的每个字符,直到它遇到一个空格字符,它将返回处理过的字符。然而,如果元素指的是每个字符,那么问题就更难了。您需要阅读每一个单词,并使用Java提供的任何函数将该字符串拆分。如何阅读这些行,但将每一行拆分为单个单词
while ((line = nn.readLine()) != null) {
for (String word : line.split(" ")) {
data.add(line);
}
}
本例中的split方法将分割每个空格上的行,并将单个单词放入数组中
例如,如果文件中的单词由另一个字符(如逗号)分隔,您也可以在拆分中使用该字符:
line.split(",");
如果可以的话,这里有一种更简单的方式来读取文本文件:
Scanner scanner = new Scanner(filename);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
for (String word : line.split(" ")) {
data.add(word);
}
}
不是更简单,而是更短:
最后一个建议是:如果你给你的变量一个更大的。。可读名称,如bufferedReader,而不是将它们全部命名为nn、pp、xoxo当代码以后变得越来越复杂时,您可能会遇到较少的问题
while ((line = nn.readLine()) != null) {
for (String word : line.split(" ")) {
data.add(line);
}
}
本例中的split方法将分割每个空格上的行,并将单个单词放入数组中
例如,如果文件中的单词由另一个字符(如逗号)分隔,您也可以在拆分中使用该字符:
line.split(",");
如果可以的话,这里有一种更简单的方式来读取文本文件:
Scanner scanner = new Scanner(filename);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
for (String word : line.split(" ")) {
data.add(word);
}
}
不是更简单,而是更短:
最后一个建议是:如果你给你的变量一个更大的。。可读名称,如bufferedReader,而不是将它们全部命名为nn、pp、xoxo。以后当代码变得越来越复杂时,问题可能会少一些
String line = "This is line";
String [] a = line.split("\\s");// \\s is regular expression for space
a[0]=此
a[1]=是
[2]=行对字符串使用拆分函数
String line = "This is line";
String [] a = line.split("\\s");// \\s is regular expression for space
a[0]=此
a[1]=是
a[2]=行什么是元素?您需要量化输入电流的样子以及您对输出的期望,基于您向我们展示的输入电流,这些元素是什么样子的:您是想将每个元素放入同一个列表中,只是逐字读取文件,还是想为每一行创建一个列表?然后可能会再次出现在列表中。。。什么是元素?您需要量化输入电流的样子以及您对输出的期望,基于您向我们展示的输入电流,这些元素是什么样子的:您是想将每个元素放入同一个列表中,只是逐字读取文件,还是想为每一行创建一个列表?然后可能会再次出现在列表中。。。可以这么说,列表列表我尝试了这种方法,但没有用。我的输入是单词,我想逐字读它们,就像你提到的,但当我使用时。read它要求将行更改为int。read读取单个字符并返回其整数表示形式。所以它在这里不起作用。我尝试了这种方法,但它不起作用。我的输入是单词,我想逐字读它们,就像你提到的,但当我使用时。read它要求将行更改为int。read读取单个字符并返回其整数表示形式。所以它在这里不起作用。很高兴它起了作用!我编辑了我的答案,向你展示了一个较短的版本,这很有帮助!我编辑我的答案是为了给你看一个简短的版本