java的io流包括字符流和字节流,java io字符流
00-1010IO操作字节流文件输入流文件输出流字节流读写情况字符流FileReaderFileWriter字节流和字符流的区别
目录
IO操作
java.io.InputStream输入流,主要用于读取文件内容。java.io.OutputStream的输出流主要用于将内容字节写入文件。
00-1010这个流用于从文件中读取数据,它的对象可以用关键字new创建。
有几种构造方法可用于创建对象。
您可以使用字符串类型的文件名创建一个输入流对象来读取文件。
InputStream f=new file InputStream( d :/hello );您还可以使用file对象创建一个输入流对象来读取文件。首先我们必须使用File()方法创建一个文件对象:
File f=新文件( d :/hello );InputStream in=new file InputStream(f);
00-1010这个类用于创建一个文件并向其中写入数据。
如果在流打开文件进行输出之前目标文件不存在,则流将创建该文件。
有两种构造方法可用于创建FileOutputStream对象。
使用字符串类型的文件名创建输出流对象:
output stream f=new file output stream( d :/hello );您还可以使用file对象创建输出流来写入文件。首先我们必须使用File()方法创建一个文件对象:
File f=新文件( d :/hello );OutputStream fOut=新文件输出流(f);
00-1010读取文件D:/hello.txt的内容,然后输入到文件D:/test.txt中
public类Mk { public static void main(String[]args)抛出io exception { File File=new File( d ://hello . txt );File file1=新文件( d ://test . txt );InputStream is=new file InputStream(file);output stream out=new file output stream(file 1);//定义字节数组临时存放数据byte[]buf=new byte[1024];//读取Is中的内容,保存在buf is.read(buf)中;//将buf中的内容写入out out . Write(buf);is . close();out . close();} }
字节流
00-1010编写文件实例
public class A { public static void main(String[]args)抛出io exception { FileWriter fw=new FileWriter( user . txt ,true);Fw.write(你好中国1 );Fw.write(你好中国2 );Fw.write(你好中国3 );fw . close();}}
00-1010读取文件实例
我把这里的内容改了。
Br.ready()是判断这一行流是否为空。
Br.readLine()是输出一行,然后自动将光标指向下一行。
public class A { public static void main(String[]args)抛出io exception { buffered reader br=new buffered reader(new FileReader( user . txt );while(br . ready()){ system . out . println(br . readline());} br . close();}}
00-1010字节流和字符流的用法很相似,那么除了操作码之外还有什么区别呢?
字节流本身在操作时不使用缓冲区(内存),直接用文件本身操作,而字符流在操作时使用字节流到缓冲区。在操作文件时,即使资源没有关闭(close方法)也可以输出文件,但是如果字符流没有使用close方法,什么都不会输出,说明字符流使用了缓冲区,可以使用flush方法强制刷新缓冲区。只有这样,才可以在不使用close方法的情况下输出文件。
开发中用字节流好还是字符流好?
所有文件在硬盘上保存或传输时,都是以字节为单位完成的,包括图片,字符只在内存中形成,所以使用字节的操作是最多的。java程序如果要实现一个复制功能,应该选择字节流进行操作(可能是复制图片),采用读写的方式(节省内存)。
这就是这篇关于Java详细讲解IO操作的字节流和字符流的文章。关于Java IO操作的更多信息,请搜索《流行IT》之前的文章或者继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。