程序运行期间,大部分数据都在内存中进行操作,当程序结束或关闭时,这些数据将消失。
如果需要将数据永久保存,可使用文件输入/输出流与指定的文件建立连接,将需要的数据永久保存到文件中。
FileInputStream与FileOutputStream类:
FileInputStream类与FileOutputStream类都用来操作磁盘文件。如果用户的文件读取需求比较简单,则可以使用FileInputStream类,该类继承自InputStream类.
FileInputStream类与FileOutputStream类对应,提供了基本的文件写入能力,FileOutputStream类是OutputStream的子类。
FileInputStream类常用的构造方法:(FileOutputStream相同)
FileInputStream(String name)
FileInputStream (File file)
第一个构造方法使用给定的文件名name创建一个FileInputStream对象,第二个构造方法使用File对象创建FileInputStream对象。第一个构造方法比较简单,但第二个构造方法允许在把文件连接输入流之前对文件进一步分析。
代码:
使用FileOutputStream类向文件word.txt写入信息,然后通过FileInputStream对象将文件中的数据读取到控制台上。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
//创建类FileTest
public class FileTest {
public static void main(String[] args) throws Exception {
//创建文件对象
File file=new File("word.txt");
//捕获异常
try{
//创建FileOutputStream对象
FileOutputStream out=new FileOutputStream(file);
//创建byte型数组
byte buy[]="锄禾日当午,学习真是苦。".getBytes();
//将数组中的信息写入到文件中
out.write(buy);
//将流关闭
out.close();
//catch语句处理异常信息
}catch(Exception e){
//输出异常信息
e.printStackTrace();
}
try{
//创建FileInputStream类对象
FileInputStream in=new FileInputStream(file);
//创建byte数组
byte byt[]=new byte[1024];
//从文件中读取信息
int len=in.read(byt);
//将文件中的信息输出
System.out.println("文件中的信息是:"+new String(byt,0,len));
//关闭流
in.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
输出结果:
文件中的信息是:锄禾日当午,学习真是苦。