簡體   English   中英

StringTokenizer多行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM