欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Java------IO流

时间:2023-05-13

IO流的分类: 流向: 输入流 读取数据 输出流 写出数据 数据类型: 字节流 字节输入流 读取数据 InputStream 字节输出流 写出数据 OutputStream(是一个抽象类,不能被实例化,需要找一个具体的子类FileOutStream)

构造方法: FileOutputStream(File file) 创建文件输出流以写入由指定的 File对象表示的文件。 FileOutputStream(String name) 创建文件输出流以指定的名称写入文件。

字符流 字符输入流 读取数据 Reader 字符输出流 写出数据 Writer

字节输出流的操作步骤: 1、创建字节输出流对象 2、调用方法,写数据 3、释放资源

public class FileOutputStreamDemo1 { public static void main(String[] args) throws Exception{ //创建字节流输出对象 //FileOutputStream(File file) 创建文件输出流以写入由指定的 File对象表示的文件。// File file = new File("b.txt");// //如果目标文件不存在,自动创建// FileOutputStream fos = new FileOutputStream(file); //FileOutputStream(String name) 创建文件输出流以指定的名称写入文件。 //如果目标文件不存在,自动创建 FileOutputStream fos = new FileOutputStream("c.txt");// System.out.println(fos); //调用方法,写数据 fos.write("大数据,yyds".getBytes()); //释放资源 //close()关闭此文件输出流并释放与此流相关联的任何系统资源。 fos.close(); fos.write("继续写入".getBytes()); }}

字节输出流写数据的几种方法: public void write(int b) public void write(byte[] b) public void write(byte[] b,int off,int len)

public class FileOutputStreamDemo2 { public static void main(String[] args) throws Exception{ //创建字节输出流对象 FileOutputStream fos = new FileOutputStream("d.txt"); //public void write(int b) //97,底层存储的二进制,97对应的ASCII码的字符是a fos.write(97);//在文件里输入对应的ASCII码值 fos.write(48); fos.write(65); //public void write(byte[] b) byte[] byts = {97,98,99,100,101}; fos.write(byts); //public void write(byte[] b,int off,int len) //从位于偏移量 off的指定字节数组写入 len字节到该文件输出流。 fos.write(byts,1,3);//数组下标从0开始故98,99,100对应的BCD //释放资源 fos.close(); }}

输出结果:

如何实现换行呢? 要想知道为什么没有实现换行?因为我们只写入了数据的字节,并没有写入换行符 如何实现呢?在写字节的时候,添加一个换行符,注意:不同的系统,换行符不一定一样 Mac: r Windows: rn Linux: n

public class FileOutputStreamDemo3 { public static void main(String[] args) throws Exception { //创建字节输出流对象// FileOutputStream fos = new FileOutputStream("e.txt");// fos.write("大数据1,yyds".getBytes());// fos.write("rn".getBytes());// fos.write("大数据2,yyds".getBytes()); //FileOutputStream(String name, boolean append) //创建文件输出流以指定的名称写入文件。 //true表示的是可以追加写入数据 FileOutputStream fos = new FileOutputStream("e.txt", true); fos.write("rn今天下雪了rn".getBytes());// fos.write("rn".getBytes()); fos.write("但是没有看到积雪".getBytes()); //释放资源 fos.close(); //.... }}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。