Lost Programmer
Lost Programmer

Reputation: 13

Java issue with reading a text file into an ArrayList

I have created a program that is supposed to read a text file for Integers and put them into an Arraylist, and then there are a bunch of methods to act on it. but, after some trouble shooting I am noticing that my program won't pull the integers from the text file in. Could anyone point me in the right direction?

    package project1;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
import java.lang.System;

    public class Main {
        public static void main(String[] Args) {
            Main mainObject = new Main();
            mainObject.run();
        }
        public void run() {
            **ArrayList<Integer> list = new ArrayList<>();
            String fileName = "p01-in.txt";
            Scanner in = new Scanner(fileName);
            while (in.hasNextInt()) {
                list.add(in.nextInt());
                int line = in.nextInt();
                System.out.println("%s  %n" + line);
            }
            in.close();**
            ArrayList<Integer> listRunsUpCount = new ArrayList<>();
            ArrayList<Integer> listRunsDnCount = new ArrayList<>();
            Main findRuns = new Main();
            listRunsUpCount = findRuns.FindRuns(list, 0);
            listRunsDnCount = findRuns.FindRuns(list, 1);
            ArrayList<Integer> listRunsCount = new ArrayList<>();
            Main mergeRuns = new Main();
            listRunsCount = mergeRuns.MergeRuns(listRunsUpCount, 
            listRunsDnCount);
            Main Output = new Main();
            Output.Output("p01-runs.txt", listRunsCount);
        }

Upvotes: 0

Views: 62

Answers (1)

Rupesh Agrawal
Rupesh Agrawal

Reputation: 695

You can use BufferedReader to read file content line by line.

try {
        BufferedReader reader = new BufferedReader(new FileReader(fileName));
        String line=reader.readLine();
        while (line != null) {
            line = reader.readLine();
            list.add(Integer.parseInt(line.trim()));
        }
        reader.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

Upvotes: 1

Related Questions