网站二级目录是什么,页面设计代码,网站的搜索引擎方案,vr技术对网站建设的影响(创作不易#xff0c;感谢有你#xff0c;你的支持#xff0c;就是我前行的最大动力#xff0c;如果看完对你有帮助#xff0c;请留下您的足迹#xff09;
目录
字节流
定义
说明
InputStream与OutputStream示意图
说明
InputStream的常用方法
说明
OutputStrea…(创作不易感谢有你你的支持就是我前行的最大动力如果看完对你有帮助请留下您的足迹
目录
字节流
定义
说明
InputStream与OutputStream示意图
说明
InputStream的常用方法
说明
OutputStream的常用方法
说明
InputStream与OutputStream的继承体系 字节流读写文件
说明
文件的拷贝 字节流
定义 在计算机中无论是文本、图片、音频还是视频所有文件都是以二进制字节形式存在的I/O流中针对字节的输入/输出提供了一系列的流统称为字节流。 说明 字节流是程序中最常用的流。 在JDK中所有的字节输入流都继承自InputStream所有的字节输出流都继承自OutputStream。 InputStream与OutputStream示意图 说明 InputStream被看成一个输入管道OutputStream被看成一个输出管道 数据通过InputStream从源设备输入到程序通过OutputStream从程序输出到目标设备从而实现数据的传输。 InputStream的常用方法 说明 前三个read()方法都是用来读数据的分按字节读取和按字节数组读取。 进行I/O流操作时应该调用close()方法关闭流从而释放当前I/O流所占的系统资源。 OutputStream的常用方法 说明 前三个write()方法都是用来写数据的分按字节读取和按字节数组写入。 flush()方法用来将当前输出流缓冲区通常是字节数组中的数据强制写入目标设备此过程称为刷新。 close()方法是用来关闭流并释放与当前IO流相关的系统资源。 InputStream与OutputStream的继承体系 字节流读写文件
说明 针对文件的读写操作JDK专门提供了两个类分别是FileInputStream和FileOutputStream。 FileInputStream是InputStream的子类它是操作文件的字节输入流专门用于读取文件中的数据。 从文件读取数据是重复的操作因此需要通过循环语句来实现数据的持续读取 示例读取包含“hello”内容的txt文件 FileInputStream in new FileInputStream(test.txt);
int b 0;
while((bin.read()) ! -1){System.out.println(b);
}
in.close(); 注意 在读取文件数据时必须保证文件在相应目录存在并且是可读的否则会抛出 FileNotFoundException。 示例向txt文件写入数据 FileOutputStream out new FileOutputStream(out.txt);
String str hello;
out.write(str.getBytes());
out.close(); 注意通过FileOutputStream向一个已经存在的文件中写入数据该文件中的数据首先会被清空再写入新的数据。若希望在已存在的文件内容之后追加新内容则可使用构造函数FileOutputStream(String fileName, boolean append)来创建文件输出流对象并把append参数的值设置为true。 FileOutputStream out new FileOutputStream(out.txt,true);
String str world;
out.write(str.getBytes());
out.close(); 注意I/O流在进行数据读写操作时会出现异常为了保证I/O流的close()方法一定执行来释放占用的系统资源通常会将关闭流的操作写在finally代码块中。
finally{try{if(in!null) in.close();}catch(Exception e){e.printStackTrace();}try{if(out!null) out.close();}catch(Exception e){e.printStackTrace();}
}
文件的拷贝 说明 l/O流通常都是成对出现的即输入流和输出流一起使用。例如文件的拷贝就需要通过输入流来读取源文件中的数据并通过输出流将数据写入新文件。 FilelnputStream in new FilelnputStream(source/src.jpg);
FileOutputStream out new FileOutputStream(target/dest.jpg):
int len 0;
long beginTime System.currentTimeMillis():
while ((len in.read() !-1){out.write(len);
}
long endTime System.currentTimeMillis();
System.out.println(花费时间为(endTime-be gin Time)毫秒)
in.close();
out.close(); 说明上述示例在拷贝过程中通过whil循环将字节逐个进行拷贝。在拷贝文件时由于计算机性能等各方面原因会导致拷贝文件所消耗的时间不确定因此每次运行程序的结果并不一定相同。