基本上我在这个程序中尝试做的是在文本文件“dictionary.txt”中读取,该文件包含列表形式的字典中的所有单词。我正在尝试获取文件并在ArrayList中读取它,然后将该数组列表打印到输出文件“output.txt”。最终我的程序会做更多,但现在我只是基本上将相同的数据从dictionary.txt传输到output.txt。目前所有程序正在做的是制作输出文本文件但不打印任何数据。我有一个运行该程序的单独的Driver类。我知道我的错误可能在于没有正确读取ArrayList中的字典或者没有正确地将arraylist打印到输出文件。或者我可能抛出了错误的异常?我不确定在此程序之前我从未真正搞过IO异常。任何建议将不胜感激!
import java.io.*;
import java.util.ArrayList;
import java.util.Formatter;
import java.util.Scanner;
public class readDictionary {
private Scanner x;
ArrayList<String> list = new ArrayList<String>();
public void openFile(){
try{
x = new Scanner(new File("dictionary.txt"));
}
catch(Exception e){
System.out.println("could not find file");
}
}
public void readFile(){
while(x.hasNext()){ //going to loop as long as there is something else
list.add(x.next());
}
}
public void closeFile(){
x.close();
}
//private Formatter y;
private FileWriter writer;
public void outputFile(){
try{
writer = new FileWriter("output.txt");
}
catch(Exception e){
System.out.println("you have an error");
}
}
public void addRecords(){
for(String str: list){
try {
writer.write(str);
} catch (IOException e) {
e.printStackTrace();
}
}
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}