- package IO_TEST;
-
- import java.io.File;
- import java.io.FileInputStream;
-
- import java.io.InputStream;
-
- public class fileInmputStreamTest {
- public static void main(String[] args) throws Exception {
-
- // FileInputStream 字节输入流
- // InputStream is = new FileInputStream(new File("\\src\\mamat01.txt"));
- InputStream is = new FileInputStream(("src/mamat01.txt")); //缩写 推荐使用
-
- //读取字节数据
- // public int read (); 每一次读取一个字节返回 如果招不到数据 返回(-1)
- /*int i1= is.read();
- System.out.println((char)i1);
- int i2= is.read();
- System.out.println((char)i2);
- int i3= is.read();
- System.out.println((char)i3);
- */
-
-
- //用循环来遍历文件里的数据
- int Q; //记住变量
- while ((Q=is.read())!=-1){
- System.out.print((char)Q);
- }
- //读取性能很差
- //读取汉字和维语字 会乱码 无法避免的1
- //流使用完毕之后 必须关闭 释放系统资源
-
- is.close();
-
-
- }
- }
- package IO_TEST;
-
- import java.io.FileInputStream;
- import java.io.InputStream;
-
- public class fileInmputStreamTest2 {
- public static void main(String[] args) throws Exception {
- //目标:掌握 FileInputStream 读取多个字节
-
- InputStream is = new FileInputStream("src/mamat02.txt");
-
- /*
- //读取文件中的多个字节
- byte[] buffer=new byte[3];
- int lun = is.read(buffer);
- String st=new String(buffer,0,lun) ;
- System.out.println(st);
- System.out.println("当前读取的字节数量:"+lun);
- //2 读取多少 列出多少
- byte[] buffer1=new byte[2];
- int lun1 = is.read(buffer);
- String st1=new String(buffer ,0,lun1) ;
- System.out.println(st1);
- System.out.println("当前读取的字节数量:"+lun1);*/
-
-
-
- //性能提升了
- //还是无法避免汉字和维语字
- byte[] buffer=new byte[3]; //数组 3个字节
- int lun; //记住变量
- while ((lun=is.read(buffer))!=-1){
- var st=new String(buffer, 0, lun);
- System.out.print(st);
-
- }
- is.close(); //关闭流
- }
- }
- package IO_TEST;
-
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.InputStream;
-
- public class fileInmputStreamTest3 {
- public static void main(String[] args) throws Exception {
-
- //1:使用文件输入流一次读完文件的全部字节
- //InputStream 抽象类 FileInputStream 实现类
- // 2: 创建输入管道与原文件接通
- InputStream is = new FileInputStream(("src/mamat03.txt")); //缩写 推荐使用
-
- /* //3: 准备一个字节数组 大小与文件的一样大
- //创建一个文件对象
- File f=new File("src/mamat03.txt");
- //获取文件的大小
- long size=f.length();
- //创建字节数组对象
- byte[] buffer=new byte[(int) size];
- int len = is.read(buffer);
- System.out.println(new String(buffer));
- System.out.println(len);
- System.out.println(size);*/
- byte[] buffer= is.readAllBytes();
- System.out.println(new String(buffer));
-
- is.close();
-
-
- }
- }
- package IO_TEST;
-
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
-
- public class fileOutputStreamTest {
- //目标:掌握文件输出流fileOutputStream 的作用
- public static void main(String[] args) throws Exception {
- // 1:创建一个字节流输出流管道与目标文件接通
- //默认是覆盖 原来的数据
- //默认是false
- //改成true 追加数据管道
- OutputStream out=new FileOutputStream("D:\\untitled1\\src\\Outmamat.txt",true);
-
- //2:写入字节数字
- out.write(97); ///97代表a
- out.write('b'); //b也是一个字节
- //用一个字节的时候有不要写汉字和维吾尔字 出现会乱码
-
- byte[] bytearr="我爱你中国abc".getBytes();
- out.write(bytearr);
- out.write(bytearr,0,15);
- //字节数组 开始索引 多少个字节
-
-
- //换行符号
- out.write( "\r\n".getBytes());
-
- out.close();//关闭流
-
-
- }
- }