所有我得到的是hashmap的地址,filewriter不起作用,我已经尝试了一切:scan,bufferedwriter,重写write()方法。
public class hmapTest implements java.io.Serializable {
public static void main(String[] args) {
HashMap<Integer, String> hmap3 = new HashMap<Integer, String>();
// add elements to hashmap
hmap3.put(1, "to");
hmap3.put(2, "in");
hmap3.put(3, "at");
hmap3.put(4, "on");
hmap3.put(5, "under");
try {
FileOutputStream fos = new FileOutputStream("hashser.txt");
ObjectOutputStream ous = new ObjectOutputStream(fos);
ous.writeObject(hmap3);
ous.close();
fos.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
输出:
¬í¬íloadFactorI等
答案 0 :(得分:0)
如果您只需要一个人类可读的形式,您可以这样做:
class Main {
public static void main(String[] args) throws FileNotFoundException {
HashMap<Integer, String> hmap = new HashMap<>();
hmap.put(1, "to");
hmap.put(2, "in");
hmap.put(3, "at");
hmap.put(4, "on");
hmap.put(5, "under");
try (XMLEncoder stream = new XMLEncoder(new BufferedOutputStream(System.out))) {
stream.writeObject(hmap);
}
}
}
但是,如果必须是CSV,则必须使用第三方库(例如https://poi.apache.org/),或者自行实施。另外,如果您的数据只是一个映射到值的连续整数列表,请考虑使用List
而不是HashMap
。