字节流
字节流不但可以读写文本,还可以读写图片,音频,视频
字节流-文件输入流(FileInputStream)
构造方法
FileInputStream(File file) 表示从file指向的文件中读取
FileInputStream(String name) name表示文件的路径名(路径+文件名)
读取方法
int read()
调用一次读到一个数据字节,返回的int值就是读到的数据
如果已到达文件末尾,则返回 -1
int n = 0;
while((n=inputStream.read())!=-1){
System.out.print((char)n);
}
int read(byte[] b)
调用一次本方法表示可以读取多个数据
读到的内容保存传入的byte数组b中
返回的是本次调用方法读到的数据字节个数
byte[] b = new byte[2];
int n=0;
while ((n=inputStream.read(b))!=-1) {
System.out.print(new String(b,0,n));
}
int read(byte[] b, int off, int len)
和上面的第二个类似,可以指定从b数组什么位置开始装
字节流-文件输出流(FileOutputStream)
构造方法
FileOutputStream(File file)
FileOutputStream(String name)
FileOutputStream(File file, boolean append)//
append
- 如果为true
,则追加到文件末尾处,而不是覆盖原有内容FileOutputStream(String name, boolean append)//
append
- 如果为true
,则追加到文件末尾处,而不是覆盖原有内容
写入方法
void write(int b) 调用一次写入一个数据字节
void write(byte[] b) 调用一次,可以把一个byte数组中的数据写入
void write(byte[] b, int off, int len) 调用一次,把b数组中的一部分数据写入
注意: FileOutputStream 会自动创建一个文件(如果文件不存在,并且文件的路径存在的)
写单个数据字节
OutputStream os = new FileOutputStream(“D:/123.avi”);
os.write(65);
os.close;
写一个字符串
OutStream os = new FileOutputStream(“D:/123.txt”,true);
os.write(“66666”.getByte());
os.close()
总结(字节输出流写数据的流程以及注意事项)
1.确定输出到哪里去
2.创建输 出流的对象(调用输入write方法)
3.调用write方法写数据
4.关闭流资源