logo
  • Programming
  • Testing
  • AI
  • Devops
  • Data Science
  • Design
  • Blog
  • Crypto Tools
  • Dev Feed
  • Login
Story
Follow @devglan

Java Program to Find Distinct Word List From a File

author-image   By Dhiraj Ray,   31 December, 2017 6K

Description

Java program to find distinct words from file is a very common question in java interview.In the following program, we will be using BufferedReader to read a file and then retain distinct words from it. To achieve this, we will be using Set to store all the words from a file and since, set dos not allow duplicates, we can easily find the distinct words.Following is the complete java program for this.

DistinctWordList.java
package com.devglan;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class DistinctWordList {

    public Set getDistinctWordList(String fileName){

        FileInputStream fis;
        DataInputStream dis;
        BufferedReader br =  null;
        Set wordList = new HashSet<>();
        try {
            fis = new FileInputStream(fileName);
            dis = new DataInputStream(fis);
            br = new BufferedReader(new InputStreamReader(dis));
            String line;
            while((line = br.readLine()) != null){
                StringTokenizer st = new StringTokenizer(line, " ,.;:\"");
                while(st.hasMoreTokens()){
                    wordList.add(st.nextToken().toLowerCase());
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally{
            try{
                if(br != null){
                    br.close();
                }
            }catch(Exception ex){
                System.out.println(ex.getMessage());
            }
        }
        return wordList;
    }

    public static void main(String a[]){

        DistinctWordList distinctFileWords = new DistinctWordList();
        Set wordList = distinctFileWords.getDistinctWordList("C:/test.txt");
        for(String str : wordList){
            System.out.println(str);
        }
    }
}

Explanation

Click to Suggest Your Own Explanation

The tokenizer used here allows an application to break a string into tokens.Once, the line is tokenized, put it inside a set that does not allow any duplicates.

Other Similar Java Programs:

1 Java Program to test if given number is Armstrong or not
2 Java Program to test if a given number is Fibonacci or not
3 Java program to find duplicate character from a string
4 Java Program to find middle index of array where both ends sum is equal
5 Java Program to find line with max character length in descending order in Java
6 Java Program to find max two numbers in an array
7 Java program to find max repeated words from a file
8 Java program to find sum of prime numbers
9 Java program to reverse a given number
10 Java program to find permutations of a given string
11 Java program to reverse a given string
12 Java program to find factorial of a given number
13 Java Program for Binary Search
14 Java Program to Add Two 2D Matrix
15 3 Ways to Check if Given Words are Anagram or not
16 Java Program to Find LCM of a Two Given Number
17 Check Given String is Rotation of Another String
18 Java Program To Check If A Given Number is A Perfect Number
19 Remove Common Characters From Given Strings
20 Find Second Largest Number in Array
21 Java Program To Find the Longest Palindrome Present in a String
22 Java Program to Reverse an Array in Place Without Using Any Second Array
23 Java Program to Print 1 To 10 Without Using Loop
24 Write a Java Program to Compare Files in Java
25 Java Program to Find missing Number in an Array
26 Java Program to Find First non Repeated Character in a String
27 Write a Java Program to Find Union and Intersection of Arrays in Java
28 Writing a Java program to rotate an array by d elements.
29 Write a Java program to rotate a matrix
30 Write a Java program to find the largest sum of the contiguous subarray in a given Array

If You Appreciate This, You Can Consider:

  • Like us at: Facebook or follow us at Twitter
  • Share this article on social media or with your teammates.

Suggest Explanation

The suggestion has been saved for review.Thanks for your effort.

{{errorMessage}}

Vertex

Devglan is one stop platform for all
programming tutorials and courses.

About Us

  • About Us
  • Contact Us
  • Submission Criteria
  • Privacy Policy

Quick Links

  • Home
  • Login / Join
  • Submit Your Story
  • Donate

Contact Us

Dhiraj
dhiraj@devglan.com

© 2020 Devglan. All rights reserved.