下面的程序由我完成。如果提供数据作为输入,它将存储在控制台的设置显示中并将数据写入文本文件。请在文本文件中提供一些解决方案。它正在打印垃圾值。我希望输出在控制台中显示的样子。
public class Test {
public static void main(String []args) throws Exception {
Set storeVals = new HashSet();
Scanner sc = new Scanner(System.in);
String input = "";
do{
System.out.println("Enter Some Data: ");
input = sc.nextLine();
storeVals.add(input);
} while(!input.equals("exit"));
//sc.close();
Iterator storeValsItr = storeVals.iterator();
while (storeValsItr.hasNext()) {
System.out.println(storeValsItr.next());
}
ObjectOutputStream wr= new ObjectOutputStream(new FileOutputStream("D:/new.txt"));
while (storeValsItr.hasNext()) {
Object o=storeValsItr.next();
wr.writeObject(o);
wr.flush();
wr.close();
}
}
}
最佳答案
从JavaDoc开始:
FileOutputStream用于写入原始字节流,例如图像数据。要编写字符流,请考虑使用FileWriter。
将FileWriter
与BufferedWriter
一起使用。