Question

In: Computer Science

* readCsvFile() -- Read in a CSV File and return a list of entries in that...

* readCsvFile() -- Read in a CSV File and return a list of entries in that file.
   * @param filePath -- Path to file being read in.
   * @param classType -- Class of entries being read in.
   * @return -- List of entries being returned.
   */
   public <T> List<T> readCsvFile(String filePath, Class<T> classType){
       return null;
   }

implement this class. Return a list of T type. dont worry about CSV format. Just assume there is a constructor for the class type and it has 3 elements. make something up

Solutions

Expert Solution

Below is the complete program to run and test the method (readCsvFile) using Employee class. You can use any other class as per your requirement which has a public constructor with three arguments. I have mentioned inline comments as well.

Note: Don't forget to change the classes specified in parameterTypes variable according to the data type of variables in your class. Order of parameters should be same in parameterTypes variable as specified in the constructor.

Employee.java

public class Employee {

    Integer id;
    String fname, lname;

    public Employee(Integer id, String fname, String lname) {
        this.id = id;
        this.fname = fname;
        this.lname = lname;
    }

    @Override
    public String toString() {
        return "Employee{" + "id = " + id + ", fname = " + fname +
                ", lname = " + lname + "}";
    }
}

Test.java to run and test the code

import java.io.*;
import java.util.*;

public class Test {
    public static void main(String[] args) throws Exception {
        Test test = new Test();
        List<Employee> empList =  test.readCsvFile("src/test.csv", Employee.class);
        empList.stream().forEach(System.out::println);
    }

    public <T> List<T> readCsvFile(String filePath, Class<T> classType) throws Exception {
        List<T> result = new ArrayList<>();
        //open input stream to read from the file
        BufferedReader reader = new BufferedReader(new FileReader(new File(filePath)));
        String line;
        while ((line = reader.readLine()) != null) {
            //split the line from comma. CSV file has comma(',') as default value separator
            String[] splitString = line.split(",");
            //declare parameter types accepted by the constructor
            //update it as per your class, i have considered the constructor which takes 2 String and 1 Integer parameters
            Class[] parameterTypes = new Class[]{Integer.class, String.class, String.class};
            //set the values from splitString array which is read from csv file
            Object[] values = new Object[3];
            values[0] = Integer.parseInt(splitString[0].trim());
            values[1] = splitString[1].trim();
            values[2] = splitString[2].trim();
            T t = classType.getConstructor(parameterTypes).newInstance(values);
            result.add(t);
        }
        //close the connection with input stream
        reader.close();
        return result;
    }
}

Test.csv File:

Screenshot of code:

Output:


Related Solutions

build a python program that will be performing: - Read a CSV file 'annual.csv' enterprise into...
build a python program that will be performing: - Read a CSV file 'annual.csv' enterprise into a data structure - Count the number of rows and columns - Determine if the data contains empty values - Replace the empty values by 'NA' for strings, '0' for decimals and '0.0' for floats - Transform all Upper case characters to Lower case characters - Transform all Lower case characters to Upper case characters - save back the 'repaired' array as csv -...
Write a Java program to read in the 10 numbers in the example file Book1.csv provided...
Write a Java program to read in the 10 numbers in the example file Book1.csv provided above. The program should sum all the numbers, find the lowest number, find the highest number, and computer the average. Upon completion of the processing, the program should write a new text file named stats.txt with the information found in the following format where xxx represents a number calculated above. The sum of the numbers is: xxx The lowest number is: xxx The highest...
How to read the given structure from a random CSV file separated by commas(which contains no...
How to read the given structure from a random CSV file separated by commas(which contains no headers only the values of the contents of the structure) and then insert in a binary search tree using one of the structure contents as a key i.e. datetime and handle duplicates in binary search tree by implementing link_list.Please develop a C code for this. struct data{ char biker_id[200]; char distance_bike_travelled[200]; char datetime[200]; char count_tripr[200]; }
What is a csv file and how does database work in general?
What is a csv file and how does database work in general?
How to read a text file and store the elements into a linked list in java?...
How to read a text file and store the elements into a linked list in java? Example of a text file: CS100, Intro to CS, John Smith, 37, 100.00 CS200, Java Programming, Susan Smith, 35, 200.00 CS300, Data Structures, Ahmed Suad, 41, 150.50 CS400, Analysis of Algorithms, Yapsiong Chen, 70, 220.50 and print them out in this format: Course: CS100 Title: Intro to CS Author: Name = John Smith, Age = 37 Price: 100.0. And also to print out the...
Question6: Write a program to read the file 202010mid.txt, store the content in a list of...
Question6: Write a program to read the file 202010mid.txt, store the content in a list of tuples, then print the list. [6 marks] Question7: Write Python code to do the following operations using request library. [12 marks] Check if the following webpage is available or not: https://edition.cnn.com/news.html [4 marks] Send a get request to the following webpage and show the result: http://api.open-notify.org/iss-pass.json [4 marks] The webpage from part 2 is expecting some parameters as shown from the results. Now create...
You are required to read in a list of stocks from a text file “stocks.txt” and...
You are required to read in a list of stocks from a text file “stocks.txt” and write the sum and average of the stocks’ prices, the name of the stock that has the highest price, and the name of the stock that has the lowest price to an output file. The minimal number of stocks is 30 and maximal number of stocks in the input file is 50. You can download a input file “stocks.txt” from Canvas. When the program...
Recall that the population average of the heights in the file "pop1.csv" is μ = 170.035....
Recall that the population average of the heights in the file "pop1.csv" is μ = 170.035. Using simulations we found that the probability of the sample average of the height falling within 1 centimeter of the population average is approximately equal to 0.626. From the simulations we also got that the standard deviation of the sample average is (approximately) equal to 1.122. In the next 3 questions you are asked to apply the Normal approximation to the distribution of the...
Using the data from the csv file, answer the questions with rstudio # number_children - The...
Using the data from the csv file, answer the questions with rstudio # number_children - The number of children in the home # internet - Does the home have internet access? # mode - The way the household took the survey # own - Do the residents own with or without a mortgage or rent? # language - The primary language spoken in the home # decade_built - The decade the home was built 1) In how many households, wife’s...
(a) List the persons who are required to file a tax return under the provisions of...
(a) List the persons who are required to file a tax return under the provisions of the Income Tax Ordinance, 2001. (04) (b) In the light of the provisions of the Income Tax Ordinance, 2001: (i) Identify the circumstances under which the Commissioner of Income Tax may require a person to furnish a return of income for a period of less than twelve months. (03) (ii) State the consequences if a person fails to furnish the return as required in...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT