I have two files that are pulled in like this public void loadFile(File fileCity
ID: 3538877 • Letter: I
Question
I have two files that are pulled in like this
public void loadFile(File fileCity,File fileAbbrev){
}
loadFile method : reads from cityNames and cityAbbreviations files and fills cities and abbreviations arrays. This
method defines Scanner variable(s) to read input file(s), defines arrays with specific number of elements, read the
input file(s), display city and abbreviation to screen and fill cities and abbreviations arrays.
e.g. after execution cities [0] = kalamazoo; [1]=grandRapids; [2]= lansing
abbreviations [0] = KZOO; [1]=GRA; [2]= LAN
How Can I do this?
Explanation / Answer
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class FileTest {
public static void main(String[] args) {
String cityFileName = "cities.txt";
String abbrFileName = "abbrevations.txt";
new FileTest().loadFile(new File(cityFileName), new File(abbrFileName));
}
public void loadFile(File fileCity, File fileAbbrev) {
List<String> cities = new ArrayList<String>();
List<String> abbrevations = new ArrayList<String>();
String[] citiesArray = null;
String[] abbrArray = null;
try {
Scanner cityScanner = new Scanner(fileCity);
Scanner abbrevScanner = new Scanner(fileAbbrev);
while(cityScanner.hasNextLine()) {
cities.add(cityScanner.nextLine());
}
while(abbrevScanner.hasNextLine()) {
abbrevations.add(abbrevScanner.nextLine());
}
citiesArray = new String[cities.size()];
cities.toArray(citiesArray);
abbrArray = new String[abbrevations.size()];
abbrevations.toArray(abbrArray);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println("City Name (Abbrevation)");
System.out.println("-------------------------");
for(int i=0; i < citiesArray.length; i++) {
System.out.println(citiesArray[i] + " (" + abbrArray[i]+")");
}
}
}
Output:
City Name (Abbrevation)
-------------------------
Hyderabad (HYD)
London (LDN)
Virginia (VIR)
Paris (PAR)