从零基础接触java第九章第二节

  上一节我跟大家分享了io流中最基础的File,本节我跟大家继续分享io流中的输入流和输出流。

  上一节中我跟大家分享的流中大家不知道下来熟悉过没有,都是用于我们创建文件和文件夹,然后还有便是用于我们去编列和判断,今天我要跟大家分享的输入输出流主要传递的文本内容、图片、音乐什么的。首先大家看下列代码:

  public class Test{
public static void main(String[] args){
String path = "D:/123.txt";
File file = new File(path);
FileInputStream in = null;
FileOutputStream out = null;
try {
if(file.exists()){
file.createNewFile();
}
in = new FileInputStream(path);
out = new FileOutputStream(path);
out.write("I advanced to".getBytes());
int i = 0;
while((i=in.read())!=-1){
System.out.print((char)i);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
in.close();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

大家可看到,以上代码中我首先定义了一个路径path,然后调用了FIle file = new File(path);这句话上一节讲过了,定义一个流,然后下面两句FileInputStream in = null;和FileOutputSream out = null;是分别先定义一个输入流和输出流对象,由于我们后面需要调用,所以我把它写出来。然后大家看异常try里面,我首先写了一个判断if,判断file.exists()表示的是是否已经穿件了path路径上的123.txt文件,如果没有的话就创建。然后大家再看if 之外的in = new FileOutputStream和out = new FileOutputStream()表示的是分别定义出一个输出流和输入流对象,作用与我们以后的向文本文档中输入值。大家可以看到,在我们定义好两个对象之后,我们有定义了一个整形的i,有什么作用呢?作用在于接收in.read()读出来的字节。然后在我们定义整形i上面有一句out.write("I advanced to".getBytes());表示的是向文本中写入I advanced to这句话,如果现在大家打开D盘下可以看到会有123.txt的文本文件,然后打开便可以看到文本内容是:I advanced to这句话,意思是我先进去。然后大家再看下面的while语句,整个while语句的作用就一个,把123.txt文本的内容打印到我们的编辑器里面去。然后,while语句中的(in.read())!=-1这句话表示的意思是只要传给i的值不等于-1就将其输出,那么表达的是什么意思呢?in.read()表示的意思是读取字节,然而读取后却是转换为ascll码的形式,如果读取到没有那么便会返回一个-1来表示,所以我们这个while判断的内容很简单,就是判断是否还有内容,然后通过输出语句打印出来。好了,我们的输入输出流已经分享完毕,对了,最后说一句,大家可以看到代码最后有两句分别是in.close和out.close表示的是关流,必须关流,且记。关于本节的分享希望对大家有所帮助,希望大家能在未来学习中更上一层楼。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值