杰神之Java中IO的字节流输出读入的方法

编程入门 行业动态 更新时间:2024-10-28 19:27:54

杰<a href=https://www.elefans.com/category/jswz/34/1766677.html style=神之Java中IO的字节流输出读入的方法"/>

杰神之Java中IO的字节流输出读入的方法

字节流

字节流主要是操作byte类型数据,也byte数组为准,主要操作类就是
* 字节输出流:OutputStream
* 字节输入流:InputStream
在使用字节流之前,我们要先知道输出输入到底是什么
* 什么叫输出?
程序—>文件
* 什么叫输入?
文件—>程序
输入输出的参照物是自己的程序
* 读取/写入文件流程
* 1.绑定数据源文件(要读哪个文件)
* 2.使用read/write方法读/写
* 3.关闭资源

字节输出流:OutputStream

OutPutStream是抽象类,是所有输出流的父类,如果想要使用此类的话,首先必须通过子类实例化对象,如果操作的是一个文件,则可以使用FileOutputStream类
OutputStream类中的常用方法:

方法  描述  
public void close() throws IOException  关闭输出流
public void flush() throws IOException  刷新缓冲区
public void write(byte[] b) throws IOException  将一个byte数组写入数据流  
public void write(byte[] b,int off,int len)throws IOException   将一个指定范围的byte数组写入数据流  
public abstract void write(int b) throws IOException    将一个字节数据写入数据流 

代码示例:创建文件并写入字符

    public static void fun1() throws FileNotFoundException, IOException {File file = new File("/Users/lanou/Desktop/haha/wang.txt");FileOutputStream oStream = new FileOutputStream(file);// 按ASCII写入oStream.write(100);// 按字节数组写入byte[] b = { 65, 66, 67, 68 };oStream.write(b);// 按字节数组的索引和长度写入oStream.write(b, 1, 2);// 简单写法oStream.write("Hello".getBytes());oStream.write("World".getBytes());oStream.close();}

注:
1、 在操作的时候如果文件本身不存在,则会为用户自动创建新文件。

2、 如果要追加的内容需要换行,则在内容中加入“/t”(windows中是\r\n )就可以了。

以上的操作在写入数据之后,文件之前的内容已经不存在了,因为在IO操作中默认的情况是将其进行覆盖的,如果现在想执行追加的功能,则必须设置追加的操作,此时可以通过FileoutputStream向文件中追加内容:

    public static void fun2() throws FileNotFoundException, IOException {/** 方法的续写*/File file = new File("/Users/lanou/Desktop/haha/long.txt");FileOutputStream oStream = new FileOutputStream(file, true);oStream.write("hello".getBytes());oStream.close();}

在构造方法中,如果将append的值设置为true,则表示在文件的末尾追加内容。

字节输入流:InputStream

和OutputStream一样,InputStream本身也是一个抽象类,必须依靠其子类,如果现在是从文件中读取,子类肯定是FileInputStream。
InputStream类的常用方法:

方法  描述  
public int available() throws IOException   可以取得输入文件的大小  
public void close() throws IOException  关闭输入流  
public abstract int read() throws IOException   读取内容,以数字的方式读取  
public int read(byte[] b) throws IOException    将内容读到byte数组之中,同时返回个数

示例代码:

    public static void fun1() throws FileNotFoundException, IOException {File file =new File("/Users/lanou/Desktop/haha/www.txt");FileInputStream iStream=new FileInputStream(file);//  读取char r1 = (char)iStream.read();char r2 = (char)iStream.read();char r3 = (char)iStream.read();//当读取到文件末尾的时候会返回-1//相当于你读到-1文件就读完了int r4 = iStream.read();System.out.println(r1);System.out.println(r2);System.out.println(r3);System.out.println(r4);iStream.close();}public static void fun2() throws FileNotFoundException, IOException {//根据文件长度读取File file =new File("/Users/lanou/Desktop/haha/www.txt");FileInputStream iStream=new FileInputStream(file);for(int i =0;i<file.length();i++) {char read = (char)iStream.read();System.out.print(read);}iStream.close();}public static void fun3() throws FileNotFoundException, IOException {//使用字节数组,读取文件File file =new File("/Users/lanou/Desktop/haha/www.txt");FileInputStream iStream=new FileInputStream(file);//声明一个长度为2的空的字节数组//读取时会把读出来的内容放进字节数组中存储byte[] b=new byte[2];iStream.read(b);System.out.println(new String(b));iStream.read(b);System.out.println(new String(b));iStream.close();}

更多推荐

杰神之Java中IO的字节流输出读入的方法

本文发布于:2024-03-06 12:13:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1715304.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:神之   字节   方法   IO   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!