[英]StringTokenizer multiple lines
我有两个文件,分别称为“ ride.in”和“ ride.out”。 “ ride.in”文件包含两行,一行包含字符串“ COMBO”,另一行包含字符串“ ADEFGA”。 就像我说的那样,每个字符串在单独的行上,因此“ COMBO”在第一行,而“ ADEFGA”在“ ride.in”文件的第二行。 这是我的代码:
public static void main(String[] args) throws IOException {
File in = new File("ride.in");
File out = new File("ride.out");
String line;
in.createNewFile();
out.createNewFile();
BufferedReader br = new BufferedReader(new FileReader(in));
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(out)));
while ((line = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line);
String sam =st.nextToken();
}
pw.close();
}
}
我想将COMBO分配为一个令牌,将ADEFGA分配为另一个令牌,但是在此代码中,COMBO和ADEFGA都分配给了sam字符串。 如何将COMBO分配给一个字符串,如何将ADEFGA分配给另一字符串?
您可以将文件中的每一行读入List<String>
:
List<String> words = Files.readAllLines(new File("ride.in").toPath(), Charset.defaultCharset() );
另外,您可以使用Fileutils
:
List<String> words = FileUtils.readLines(new File("ride.in"), "utf-8");
words
现在应包含:
['COMBO','ADEFGA']
注意:相应地调整ride.in
的文件路径
您无法创建数量可变的变量。
创建一个字符串数组列表。
更改
while ((line = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line);
String sam =st.nextToken();
}
至
List<String> myList = new ArrayList<String>();
while ((line = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line);
myList.add(st.nextToken());
}
现在,myList.get(0)将具有“ COMBO”,而myList.get(1)将具有“ ADEFGA”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.