use infile.hasNextLine()
instead of infile.hasNext()
change
while(infile.hasNext())
to
while(infile.hasNextLine())
and small correction
change
names.println(nameslist.get(i).toString());
to
names.println(nameslist.get(i)); //nameslist holds String objects no need to convert to String again.
if not solved the issue add countline variable and make sure how many lines you read from the file.
int countline;
while(infile.hasNext()) {
nameslist.add(infile.nextLine());
countline++;
}
System.out.println("Number of line: "+ countline);