2017-04-04 16:02:55 +05:30
|
|
|
package com.baeldung.stringtokenizer;
|
|
|
|
|
2017-04-07 20:03:10 +05:30
|
|
|
import java.io.BufferedReader;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.InputStreamReader;
|
2017-04-04 16:02:55 +05:30
|
|
|
import java.util.ArrayList;
|
2017-04-07 20:03:10 +05:30
|
|
|
import java.util.Collections;
|
2017-04-04 16:02:55 +05:30
|
|
|
import java.util.List;
|
|
|
|
import java.util.StringTokenizer;
|
2017-04-07 18:15:19 +02:00
|
|
|
import java.util.stream.Collectors;
|
2017-04-04 16:02:55 +05:30
|
|
|
|
2017-04-08 13:49:01 +02:00
|
|
|
public class MyTokenizer {
|
2017-04-04 16:02:55 +05:30
|
|
|
|
2017-04-07 18:15:19 +02:00
|
|
|
public List<String> getTokens(String str) {
|
2017-04-08 13:49:01 +02:00
|
|
|
List<String> tokens = new ArrayList<>();
|
2017-04-07 18:15:19 +02:00
|
|
|
// StringTokenizer tokenizer = new StringTokenizer( str );
|
|
|
|
StringTokenizer tokenizer = new StringTokenizer(str, ",");
|
|
|
|
// StringTokenizer tokenizer = new StringTokenizer( str , "," , true );
|
|
|
|
while (tokenizer.hasMoreElements()) {
|
|
|
|
tokens.add(tokenizer.nextToken());
|
|
|
|
// tokens.add( tokenizer.nextToken("e") );
|
|
|
|
}
|
|
|
|
int tokenLength = tokens.size();
|
|
|
|
return tokens;
|
|
|
|
}
|
|
|
|
|
|
|
|
public List<String> getTokensWithCollection(String str) {
|
2017-08-05 16:14:20 +03:00
|
|
|
return Collections.list(new StringTokenizer(str, ",")).stream().map(token -> (String) token).collect(Collectors.toList());
|
2017-04-07 18:15:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public List<String> getTokensFromFile(String path, String delim) {
|
|
|
|
List<String> tokens = new ArrayList<>();
|
2017-04-08 13:49:01 +02:00
|
|
|
String currLine;
|
2017-04-07 18:15:19 +02:00
|
|
|
StringTokenizer tokenizer;
|
2017-04-08 13:49:01 +02:00
|
|
|
try (BufferedReader br = new BufferedReader(new InputStreamReader(MyTokenizer.class.getResourceAsStream("/" + path)))) {
|
2017-04-07 18:15:19 +02:00
|
|
|
while ((currLine = br.readLine()) != null) {
|
|
|
|
tokenizer = new StringTokenizer(currLine, delim);
|
|
|
|
while (tokenizer.hasMoreElements()) {
|
|
|
|
tokens.add(tokenizer.nextToken());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (IOException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
return tokens;
|
|
|
|
}
|
2017-04-04 16:02:55 +05:30
|
|
|
|
|
|
|
}
|