Skip to content

Commit 7ab1e37

Browse files
AbhinabKanrarmaibin
authored andcommitted
cusstom token (eugenp#1588)
* rest with spark java * 4 * Update Application.java * indentation changes * spring @RequestMapping shortcuts * removing spring requestmapping and pushing spring-mvc-java * Joining/Splitting Strings with Java and Stream API * adding more join/split functionality * changing package name * testcase change * adding webutils * adding testcase for WebUtils and ServletRequestUtils * adding testcase * spring-security-stormpath * adding ratpack module * adding pom.xml * adding following modules with updated testcase : DB, Filter, Json * adding spring-boot custom banner tutorial * changing banner format in plain text * Delete banner.txt~ * Delete b.txt~ * CORS in JAX-RS * ratpack with google guice * adding factory instance example * quick-guide-to-the-java-stringtokenizer * Update Application.java * Delete MovieCrudService.java~ * token customization * Update Application.java * adding csv test * adding csv test * Update Application.java * adding collection module
1 parent d87e066 commit 7ab1e37

3 files changed

Lines changed: 64 additions & 13 deletions

File tree

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,52 @@
11
package com.baeldung.stringtokenizer;
22

3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
36
import java.util.ArrayList;
7+
import java.util.Collections;
48
import java.util.List;
59
import java.util.StringTokenizer;
610

711
public class Application {
812

913
public List<String> getTokens(String str) {
1014
List<String> tokens = new ArrayList<String>();
11-
// StringTokenizer tokenizer = new StringTokenizer( str );
12-
StringTokenizer tokenizer = new StringTokenizer( str , "," );
13-
// StringTokenizer tokenizer = new StringTokenizer( str , "," , true );
15+
// StringTokenizer tokenizer = new StringTokenizer( str );
16+
StringTokenizer tokenizer = new StringTokenizer(str, ",");
17+
// StringTokenizer tokenizer = new StringTokenizer( str , "," , true );
1418
while (tokenizer.hasMoreElements()) {
15-
tokens.add( tokenizer.nextToken() );
16-
// tokens.add( tokenizer.nextToken( "," ) );
19+
tokens.add(tokenizer.nextToken());
20+
// tokens.add( tokenizer.nextToken("e") );
1721
}
22+
int tokenLength = tokens.size();
1823
return tokens;
1924
}
25+
26+
public List<String> getTokensWithCollection( String str ) {
27+
StringTokenizer tokenizer = new StringTokenizer(str, ",");
28+
List<String> tokens = new ArrayList<String>();
29+
Collections.list(tokenizer).forEach(token -> tokens.add((String) token));
30+
return tokens;
31+
}
32+
33+
public List<String> getTokensFromFile(String path, String delim) {
34+
List<String> tokens = new ArrayList<String>();
35+
String currLine = "";
36+
StringTokenizer tokenizer;
37+
try (BufferedReader br = new BufferedReader(
38+
new InputStreamReader(Application.class.getResourceAsStream("/" + path)))) {
39+
while ((currLine = br.readLine()) != null) {
40+
tokenizer = new StringTokenizer(currLine, delim);
41+
while (tokenizer.hasMoreElements()) {
42+
tokens.add(tokenizer.nextToken());
43+
}
44+
}
45+
} catch (IOException e) {
46+
e.printStackTrace();
47+
}
48+
return tokens;
49+
}
50+
2051

2152
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
1|IND|India
2+
2|MY|Malaysia
3+
3|AU|Australia

core-java/src/test/java/com/baeldung/stringtokenizer/ApplicationTest.java

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,37 @@
1111
public class ApplicationTest {
1212

1313
Application application = new Application();
14-
List<String> expectedTokens = new ArrayList<String>();
15-
14+
List<String> expectedTokensForString = new ArrayList<String>();
15+
List<String> expectedTokensForFile = new ArrayList<String>();
16+
1617
@Before
1718
public void init() {
18-
expectedTokens.add( "Welcome" );
19-
expectedTokens.add( "to" );
20-
expectedTokens.add( "baeldung.com" );
19+
expectedTokensForString.add("Welcome");
20+
expectedTokensForString.add("to");
21+
expectedTokensForString.add("baeldung.com");
22+
23+
expectedTokensForFile.add("1");
24+
expectedTokensForFile.add("IND");
25+
expectedTokensForFile.add("India");
26+
expectedTokensForFile.add("2");
27+
expectedTokensForFile.add("MY");
28+
expectedTokensForFile.add("Malaysia");
29+
expectedTokensForFile.add("3");
30+
expectedTokensForFile.add("AU");
31+
expectedTokensForFile.add("Australia");
2132
}
22-
33+
2334
@Test
2435
public void givenString_thenGetListOfString() {
2536
String str = "Welcome,to,baeldung.com";
2637
List<String> actualTokens = application.getTokens(str);
27-
assertEquals(expectedTokens, actualTokens);
38+
assertEquals(expectedTokensForString, actualTokens);
2839
}
29-
40+
41+
@Test
42+
public void givenFile_thenGetListOfString() {
43+
List<String> actualTokens = application.getTokensFromFile("data.csv", "|");
44+
assertEquals(expectedTokensForFile, actualTokens);
45+
}
46+
3047
}

0 commit comments

Comments
 (0)