标签:row 绑定 索引 增加 rop 文件 输出流 buffer 读写
public FileOutputStream(File file)
:创建文件输出流以写入由指定的 File对象表示的文件。 参数: File file:目的地是一个文件
public FileOutputStream(String name)
: 创建文件输出流以指定的名称写入文件。 参数: String name:目的地是一个文件的路径
写入数据的原理(内存-->硬盘) java程序-->JVM(java虚拟机)-->OS(操作系统)-->OS调用写数据的方法-->把数据写入到文件中 public class Demo01OutputStream { public static void main(String[] args) throws IOException { //1.创建一个FileOutputStream对象,构造方法中传递写入数据的目的地 FileOutputStream fos = new FileOutputStream("D:\\IdeaProjects\\java2\\day09\\a.txt"); //2.调用FileOutputStream对象中的方法write,把数据写入到文件中 //public abstract void write(int b) :将指定的字节输出流。 fos.write(97); //3.释放资源(流使用会占用一定的内存,使用完毕要把内存清空,提供程序的效率) //fos.close(); } }
public class Demo02OutputStream { public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("D:\\IdeaProjects\\java2\\day09\\b.txt"); byte[] btes={65,66,67,68,69}; //ABCDE fos.write(btes); fos.write(btes,1,2); fos.close(); } }
public FileOutputStream(File file, boolean append)
: 创建文件输出流以写入由指定的 File对象表示的文件。
public FileOutputStream(String name, boolean append)
: 创建文件输出流以指定的名称写入文件。
boolean指定:true
表示追加数据,false
1 public class Demo03OutputStream { 2 public static void main(String[] args) throws IOException { 3 FileOutputStream fos = new FileOutputStream("D:\\IdeaProjects\\java2\\day09\\b.txt",true); //true表示追加 4 for (int i = 1; i <=10 ; i++) { 5 fos.write("你好".getBytes()); // getBytes()把字符串转换为字节数组 6 fos.write("\r\n".getBytes()); //换行 7 } 9 fos.close(); 10 } 11 }
FileInputStream(File file)
: 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的 File对象 file命名。
FileInputStream(String name)
: 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的路径名 name命名。
read
方法,每次可以读取一个字节的数据,提升为int类型,读取到文件末尾,返回-1
。public class Demo01InputStream { public static void main(String[] args) throws IOException { //1.创建FileInputStream对象,构造方法中绑定要读取的数据源 FileInputStream fis = new FileInputStream("D:\\IdeaProjects\\java2\\day09\\b.txt"); //2.使用FileInputStream对象中的方法read, int len; while (((len=fis.read())!=-1)) { System.out.println(len); } //释放资源 fis.close(); } }
1 public class Demo02InputStream { 2 public static void main(String[] args) throws IOException { 3 //创建FileInputStream对象,构造方法中绑定要读取的数据源 4 FileInputStream fis = new FileInputStream("09_IOAndProperties\\b.txt"); 5 //使用FileInputStream对象中的方法read读取文件 6 //int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。 7 byte[] bytes = new byte[1024];//存储读取到的多个字节 8 int len = 0; //记录每次读取的有效字节个数 9 while((len = fis.read(bytes))!=-1){ 10 //String(byte[] bytes, int offset, int length) 把字节数组的一部分转换为字符串 offset:数组的开始索引 length:转换的字节个数 11 System.out.println(new String(bytes,0,len)); 12 } 13 //释放资源 14 fis.close(); 15 } 16 }
public BufferedOutputStream(OutputStream out)
: 创建一个新的缓冲输出流。
构造方法: BufferedOutputStream(OutputStream out) 创建一个新的缓冲输出流,以将数据写入指定的底层输出流。 BufferedOutputStream(OutputStream out, int size) 创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流。 参数: OutputStream out:字节输出流 我们可以传递FileOutputStream,缓冲流会给FileOutputStream增加一个缓冲区,提高FileOutputStream的写入效率 int size:指定缓冲流内部缓冲区的大小,不指定默认 使用步骤(重点) 1.创建FileOutputStream对象,构造方法中绑定要输出的目的地 2.创建BufferedOutputStream对象,构造方法中传递FileOutputStream对象对象,提高FileOutputStream对象效率 3.使用BufferedOutputStream对象中的方法write,把数据写入到内部缓冲区中 4.使用BufferedOutputStream对象中的方法flush,把内部缓冲区中的数据,刷新到文件中 5.释放资源(会先调用flush方法刷新数据,第4部可以省略) */ public class Demo01BufferedOutputStream { public static void main(String[] args) throws IOException { //1.创建FileOutputStream对象,构造方法中绑定要输出的目的地 FileOutputStream fos = new FileOutputStream("10_IO\\a.txt"); //2.创建BufferedOutputStream对象,构造方法中传递FileOutputStream对象对象,提高FileOutputStream对象效率 BufferedOutputStream bos = new BufferedOutputStream(fos); //3.使用BufferedOutputStream对象中的方法write,把数据写入到内部缓冲区中 bos.write("我把数据写入到内部缓冲区中".getBytes()); //4.使用BufferedOutputStream对象中的方法flush,把内部缓冲区中的数据,刷新到文件中 bos.flush(); //5.释放资源(会先调用flush方法刷新数据,第4部可以省略) bos.close(); } }
public BufferedInputStream(InputStream in)
:创建一个 新的缓冲输入流。
public class Demo02BufferedInputStream { public static void main(String[] args) throws IOException { //1.创建FileInputStream对象,构造方法中绑定要读取的数据源 FileInputStream fis = new FileInputStream("10_IO\\a.txt"); //2.创建BufferedInputStream对象,构造方法中传递FileInputStream对象,提高FileInputStream对象的读取效率 BufferedInputStream bis = new BufferedInputStream(fis); //3.使用BufferedInputStream对象中的方法read,读取文件 //int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。 byte[] bytes =new byte[1024];//存储每次读取的数据 int len = 0; //记录每次读取的有效字节个数 while((len = bis.read(bytes))!=-1){ System.out.println(new String(bytes,0,len)); } //4.释放资源 bis.close(); } }
标签:row 绑定 索引 增加 rop 文件 输出流 buffer 读写
原文地址:https://www.cnblogs.com/hps123/p/12573465.html