文件流
FileOutputStream 按字节存入文件
FileInputStream 按字节读取文件
,因此要存入文件
byte [] buf=new byte [10];
for(int i=0;i<buf.length;i++) {
buf[i]=(byte)i;}
try {FileOutputStream out=new FileOutputStream("a.dat");
out.write(buf);
out.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
而想要存入复杂点的,比如整数,字符串之类的,则需要文件流来处理,
try {//将一个整数存入一个文件
DataOutputStream out=new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("a.dat")));
int i1 =0xcafebabe;
out.writeInt(i1);
out.close();
DataInputStream in=new DataInputStream(//将一个文件读入
new BufferedInputStream(
new FileInputStream("a.dat")));
int j=in.readInt();
System.out.print(j);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
而对于文本流,想要存入文本或者读入文本,需要用到BufferedReader这个类;
try {//用PrintWriter可以将内容存入文本;
PrintWriter out=new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("a.txt"))));
String i1="hdjj";
out.println(i1);
out.close();
//用BufferedReader类可以读取文本内容,也可以读取文件代码;
BufferedReader in=new BufferedReader(
new InputStreamReader(
new FileInputStream("src/wenbenliu/Main.java")));
String line;
while((line=in.readLine())!=null)
{
System.out.println(line);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}