byte[] aa;
file_out = new FileOutputStream( "c:/dd.dat");
public_out = new ObjectOutputStream(public_file_out);
public_out.writeObject( new String(aa));
System.out.println(new String(aa)));
--为什么写入文件的内容与 输出的内容不一样??而且我想从文件中取出字符串送给byte[] bb 怎么做? 这样使aa 与bb一样。
file_out = new FileOutputStream( "c:/dd.dat");
public_out = new ObjectOutputStream(public_file_out);
public_out.writeObject( new String(aa));
System.out.println(new String(aa)));
--为什么写入文件的内容与 输出的内容不一样??而且我想从文件中取出字符串送给byte[] bb 怎么做? 这样使aa 与bb一样。
输出的是对象的 toString
保存的是对象的整体信息.
public_in = new ObjectInputStream(file_in);
String str = (String)public_in.ReadObject();
byte[] bb = str.getBytes();
import java.io.*;
public class TestIO
{
public static void main(String[] args)
{
try{
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("d:/test.txt")));
bw.write("中国人民共和国");
bw.flush();
bw.close();
}
catch(IOException e)
{
e.printStackTrace();
}
System.out.println("Hello World!");
}
}
读取:
import java.io.*;
public class ReadIO
{
public static void main(String[] args)
{
String str = "";
try{
BufferedReader bw = new BufferedReader(new FileReader(new File("d:/test.txt")));
while((str=bw.readLine())!=null)
{
System.err.println("str: "+str);
}
bw.close();
}
catch(IOException e)
{
e.printStackTrace();
}
System.out.println("Hello World!");
}
}
放到byte中的话,这个在string中有方法呢,以上的是小弟刚学的,不知效果好不好呢,楼主试试啦!学习中,讨论中..........
import java.io.*;
import java.util.*;
public class WriteObjectIO
{
public static void main(String[] args)
{
String str = "";
try{ FileOutputStream fos = new FileOutputStream("t.tmp");
ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeInt(12345);
oos.writeObject("Today");
oos.writeObject(new Date()); oos.close(); }
catch(IOException e)
{
e.printStackTrace();
}
}
}
import java.io.*;
import java.util.*;
public class ReadObjectIO
{
public static void main(String[] args)
{
String str = "";
try{
FileInputStream fos = new FileInputStream("t.tmp");
ObjectInputStream ois = new ObjectInputStream(fos); int i = ois.readInt();
System.err.println(i);
String today = (String) ois.readObject() ;
System.err.println(today);
Date date = (Date) ois.readObject();
System.err.println(date); ois.close(); }
catch(ClassNotFoundException ex)
{
ex.printStackTrace();
}
catch(IOException ex)
{
ex.printStackTrace();
}
}
}
以供反序列化。即可以从文件重新恢复这个对象。