java的IO包当中提供了,向文件中写入文件和读取文件的方法。好吧,来看下具体怎么回事吧。我们先写一个像文件当中写单个对象的方法吧。
public void writeObject() {
try {
HashMap<</span>String,String> map = new HashMap<</span>String,String>();
map.put("name", "foolfish");
FileOutputStream outStream = new FileOutputStream("E:/1.txt");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(outStream);
objectOutputStream.writeObject(map);
outStream.close();
System.out.println("successful");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
这里我们将一个map对象插入一个txt文件当中。java的IO包当中提供了Object的文件流。代码很简单,我们下面来看一看从该文件当中读取这个对象吧
public void readObject(){ FileInputStream freader; try { freader = new FileInputStream("E:/1.txt"); ObjectInputStream objectInputStream = new ObjectInputStream(freader); HashMap<</span>String,String> map = new HashMap<</span>String,String>(); map = (HashMap<</span>String, String>) objectInputStream.readObject(); System.out.println("The name is " + map.get("name")); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
代码也很简单,我们使用ObjectInputStream的readobject的就可以读取文件中的对象,再按照封装对
象时候的类型进行强制转换一下。输出结果是aa foolfish。
public class ObjectToFile { public void writeObject() { try { HashMap<</span>String,String> map = new HashMap<</span>String,String>(); map.put("name", "foolfish"); List<</span>String> list = new ArrayList<</span>String>(); list.add("hello"); list.add("everyone"); FileOutputStream outStream = new FileOutputStream("E:/1.txt"); ObjectOutputStream objectOutputStream = new ObjectOutputStream(outStream); objectOutputStream.writeObject(map); objectOutputStream.writeObject(list); outStream.close(); System.out.println("successful"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void readObject(){ FileInputStream freader; try { freader = new FileInputStream("E:/1.txt"); ObjectInputStream objectInputStream = new ObjectInputStream(freader); HashMap<</span>String,String> map = new HashMap<</span>String,String>(); map = (HashMap<</span>String, String>) objectInputStream.readObject(); ArrayList<</span>String> list = new ArrayList<</span>String>(); list = (ArrayList<</span>String>) objectInputStream.readObject(); System.out.println("The name is " + map.get("name")); System.out.println("aa " + list.get(1)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String args[]){ ObjectToFile of = new ObjectToFile(); of.writeObject(); of.readObject(); } }