Java IO知识点总结二(字节流)
来源:互联网 发布:新歌声网络战队都有谁 编辑:程序博客网 时间:2024/05/16 17:43
在程序中所有数据都是以流的方式进行传输或者保存的,程序需要使用输入流或输出流对程序进行读写。
1.java操作文件的主要流程
(1)使用File打开一个文件
(2)通过字节流或字符流的子类指定输出位置
(3)进行读写操作
(4)关闭输入输出流
2.字节流概念
字节流主要操作byte类型的数据,以byte数组为准,主要操作类是OutputStream类和InputStream类
3.字节流输出:OutputStream
构造方法为:public FileOutputStream(File file) throw FileNotFoundException
4.字节流输出代码操作实例如下
package stringText;import java.io.*;public class OutputStreamText { public static void main(String[] args) throws Exception { /* * 例1 向文件写入字符串 */ // 第一步:使用File类找到一个文件 File f = new File("d:\\test\\1.tx.t"); // 声明File对象 // 第二步:通过子类实例化父类对象 OutputStream out = null; // 准备好一个输出流对象 out = new FileOutputStream(f); // 通过多态进行实例化 // 第三步:进行写操作 String str = " Hello Word!!";// 准备一个字符串 byte b[] = str.getBytes();// 输出byte数组 out.write(b);// 将内容输出,保存文件 // 第四步:关闭输出流 out.close();// 关闭输出流 /* * 例2 使用write(int t)的方式写入文件内容 */ // 第一步:使用File类找到一个文件 File f1 = new File("d:\\test\\2.txt"); // 声明File对象 // 第二步:通过子类实例化父类对象 OutputStream out1 = null; // 准备好一个输出流对象 out1 = new FileOutputStream(f1); // 通过多态进行实例化 // 第三步:进行写操作 String str1 = " Hello Word!!";// 准备一个字符串 byte b1[] = str1.getBytes();// 输出byte数组 for (int i = 0; i < b1.length; i++) { out1.write(b1[i]); // 将内容输出,与上一例相比就此处不同 } // 第四步:关闭输出流 out1.close();// 关闭输出流 /* * 例3 追加新内容 */ // 第一步:使用File类找到一个文件 File f2 = new File("d:\\test\\2.txt"); // 声明File对象 // 第二步:通过子类实例化父类对象 OutputStream out3 = null; // 准备好一个输出流对象 out3 = new FileOutputStream(f2, true); // 通过多态进行实例化,表示在文件末追加内容 // 第三步:进行写操作 String str2 = " Hello Word!!";// 准备一个字符串 byte b2[] = str2.getBytes();// 输出byte数组 for (int j = 0; j < b1.length; j++) { out3.write(b2[j]); // 将内容输出,与上一例相比就此处不同 } // 第四步:关闭输出流 out3.close();// 关闭输出流 }}
5.字节输入流InputStream
6.输入流实例代码如下
package stringText;import java.io.*;public class InputStreamTest { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub /* * 例1 读取字符串 */ File f=new File("d:\\test\\1.txt");//找到File文件 InputStream input=null;//准备输入流对象 input=new FileInputStream(f); //实例化对象 byte[] b=new byte[1024];//将内容读到此数组中 int len=input.read(b);//将内容取出来,读到b数组中 System.out.println("内容为:"+new String(b,0,len));//将byte数组变为字符串输出 /* * 例2 读取字符串(指定开辟的空间) */ byte[] b1=new byte[(int)f.length()];//将内容读到此数组中,数组大小由文件的大小绝对 input.read(b1);//将内容取出来,读到b数组中 System.out.println("例二内容为:"+new String(b));//将byte数组变为字符串输出 /* * 例3 读取字符串(循环读取) */ File f1=new File("d:\\test\\1.txt");//找到File文件 InputStream input1=null;//准备输入流对象 input1=new FileInputStream(f1); //实例化对象 byte[] b2=new byte[(int)f1.length()];//将内容读到此数组中 for(int i=0;i<b2.length;i++){ b[i]=(byte)input1.read(); } input.close(); System.out.println("内容为:"+new String(b));//将byte数组变为字符串输出 /* * 例4 读取字符串 */ File f2=new File("d:\\test\\1.txt");//找到File文件 InputStream input2=null;//准备输入流对象 input2=new FileInputStream(f2); //实例化对象 int len2=0; int temp=0; byte[] b3=new byte[1024];//将内容读到此数组中 while((temp=input2.read())!=-1){ //每次的读取内容给temp变量,如果temp的值不是-1,则表示文件没有读完 b[len2]=(byte)temp; len2++; } input2.close(); System.out.println("内容为:"+new String(b,0,len2));//将byte数组变为字符串输出 }}
阅读全文
0 0
- Java IO知识点总结二(字节流)
- JAVA IO流总结(二)——字节流
- 黑马程序员 知识点总结-Java IO(三)字节流
- java IO体系结构(二) 字节流
- 黑马程序员 知识点总结-Java IO(二)字符流
- Java基础之IO流知识点总结二
- Java基础之IO流知识点总结二
- Java IO流知识点总结
- java零碎知识点总结 3:IO 流 -------字节流和字符流
- Java中的IO流,字节流及字符流 的知识点总结
- java中级-8-IO流知识点串讲(2)-字节流及字节字符转换流
- java IO 字节流、字符流操作总结二之字节流
- java中的IO流之字节流详解(二)
- java IO (二)字符流与字节流
- java Io流学习(二) 字节流
- Java IO流(二) 字节流
- java的io(1)---字节流总结
- Java知识总结-IO字节流
- 判断花括号是否配对
- python进阶强化-7
- UWP(3) 后台线程如何更新UI
- Spring Boot之旅:Java模版引擎Thymeleaf详解(一)
- Java IO知识点总结二(字节流)
- HDU 2066 一个人的旅行
- 求最大子数组和问题
- spring in action解读一
- hdu 多校联赛 Questionnaire
- Injection of autowired dependencies failed nested exception is Could not autowire field No qualify
- maven 引入外部jar包的几种方式
- RenderMonkey基本使用方法
- Java和Scala学习日记2