I want to store 2 things(name and values only ) from text file 

anything after ~ sing should be thread as one string called "Name" and anything after ":" colon should be an integer called "Value"

sample output should look like  

"Name = " public void end() "Value =" 5 ...etc

content of the text file 

```
    ~ public void end(): 5

    ~ public void <init>(org.apache.bcel.classfile.JavaClass arg0, gr.spinellis.ckjm.ClassMetricsContainer arg1): 1

    ~ public gr.spinellis.ckjm.ClassMetrics getMetrics(): 1

    ~ private void incRFC(String arg0, String arg1, org.apache.bcel.generic.Type[] arg2): 1

    ~ public void start(): 1

    ~ void registerMethodInvocation(String arg0, String arg1, org.apache.bcel.generic.Type[] arg2): 1

    ~ public void visitField(org.apache.bcel.classfile.Field arg0): 1

    ~ public void visitJavaClass(org.apache.bcel.classfile.JavaClass arg0): 5

    ~ void registerFieldAccess(String arg0, String arg1): 2

    ~ static String className(org.apache.bcel.generic.Type arg0): 3

    ~ public void registerCoupling(org.apache.bcel.generic.Type arg0): 1

    ~ void <init>(): 1

    ~ public gr.spinellis.ckjm.ClassMetrics getMetrics(String arg0): 2

    ~ public void printMetrics(gr.spinellis.ckjm.CkjmOutputHandler arg0): 3

```

this is the code i tried to use in headlining the problem 

```
        package javaapplication38;
        import java.io.BufferedReader;
        import java.io.IOException;
        import java.nio.charset.StandardCharsets;
        import java.nio.file.Files;
        import java.nio.file.Path;
        import java.nio.file.Paths;
        import java.util.ArrayList;
        import java.util.List;

        /*  to read CSV file in Java. In this program we will read * list of metrics  stored in CSV file as comma separated values. */
        public class readingtry {

            public static void main(String... args) {
                List<Metrics> metric = readMetricFromCSV("C:\\Users\\hp\\Desktop\\alamah.txt");

                // let's print all the metric read from CSV file
                for (Metrics m : metric) {
                    System.out.println(m);
                }
            }

            private static List<Metrics> readMetricFromCSV(String fileName) {
                List<Metrics> metricsss = new ArrayList<>();
                Path pathToFile = Paths.get(fileName);

                // create an instance of BufferedReader
                // using try with resource, Java 7 feature to close resources
                try (BufferedReader br = Files.newBufferedReader(pathToFile,
                        StandardCharsets.US_ASCII)) {

                    // read the first line from the text file
                    String line = br.readLine();

                    // loop until all lines are read
                    while (line != null) {

                    String[] attributes = line.split(" ");  // the file, using a comma as the delimiter
                    Metrics valueOfMetric = createMetric(attributes);
                    metricsss.add(valueOfMetric);      // adding metric  into ArrayList
                    line = br.readLine();

                        // use string.split to load a string array with the values from
                        // each line of
                        // the file, using a comma as the delimiter
                        String[] attributes = line.split(" ~ ");

                        Metrics valueOfMetric = createMetric(attributes);

                        // adding book into ArrayList
                        metricsss.add(valueOfMetric);

                        // read next line before looping
                                         line = br.readLine();
                    }

                } catch (IOException ioe) {
                    ioe.printStackTrace();
                }
                return metricsss;
            }

            private static Metrics createMetric(String[] metadata) {
                //classname classvalue  
                String name=  (metadata[0]);
                  int value = Integer.parseInt(metadata[1 ]);

               //                                
                return new Metrics(name,value);

            }

        }

        class Metrics {
        private String name;
        private int value;

            public Metrics( String name,int value) {
                this.name = name;
                  this.value=value;

            }

            public String getName() {        return name;    }
            public void setName(String name) {        this.name = name;    }

             public int getvalue() {        return value;    }
            public void setvalue(int value) {        this.value = value;    }

            @Override
            public String toString() {
                return "name=  " + name +"value =  " + value+"\n\n" ;
            }

        }

```