关于文件输入输出流

来源:互联网 发布:宽带通属于什么网络 编辑:程序博客网 时间:2024/05/16 07:10

首先,从概念上的说,文件输入流,是指将数据从文件输入到内存(readFile),文件输出流,是指将数据从内存输出到文件(writeFile),拓展到输入输出流,输入流是指将数据从其他地方输入到内存(例如System.in,从控制台输入到内存),输出流是指将数据从内存输出到其他地方(System.out从内存到控制台),核心都是内存。

接下来,分别讲下二者的使用。

先是文件输入流(FileInputStream),创建时需要将准备写入内存的文件对象作为参数,(File file=new File(String filePath);FileInputStream in=new FileInputStream(file) ),读取文件内容时用read方法,其常用的重载方法有二,

1.    read(),无参,从输入流中读取1Byte长的数据;(默认为byte型,如果要转换为char,可以强制转换,int value=in.read(); charval=(char)value;

2.    read(Byte[]),从输入流中读取byte[]数组长度个byte的数据,并char val=(char)value;存入byte数组中

这两个方法都有一个同样的返回值int remain,即文件中剩余的数据个数,当剩余个数为0时,remain的值为-1;


再说文件输出流(FileOutputStream),创建时需要一个字符串型参数,作为输出路径,(该文件可以不存在,创建时输出流对象时会创建),eg:FileOutputStream in=new FileOutputStream(String despath),写入内容使使用write方法,out.write((data[i]+"").getBytes());这样才能写入字符

顺便mark一下如何获取键盘输入(控制台输入流)     ,再用一个int数组将其保存

While(终止条件){

Scanner scan=new Scanner(System.in);

data[i]=scan.nextInt();

}

0 0
原创粉丝点击