11、java当中的IO

1、I/O操作的目标:对数据进行读写操作。

从数据源(文件、键盘、网络等)当中读取数据,以及将数据写入到数据目的地(文件、屏幕、网络等)当中。

I/O的流向:文件等---------进入到java程序---------输出到文件等。

                   数据的流向以java程序为参照物。

2、IO的分类方法

第一种分法:输入流和输出流;

第二种分法:字节流和字符流;

第三种分法:节点流和处理流。

3、读取文件和写入文件的方法

(1、IO当中的核心类:InputStream  OutputStream是父类都是抽象类,必须用子类来生成对象。

                  最常用子类:FileInputStream   (从硬盘的文件中读取数据)

                                        FileOutputStream(将数据写入到硬盘文件)

(2、核心方法:

InputStream

int read(byte [] b,int off, int len)    //以字节的形式读取数据并放入比特类型的数组里,从数组的第几位开始放,读取一//一次最多读多少数据, 返回一次读取的字节数。一般off=0,len是数组的长度。

OutputStream:

void write(byte [] b,int off, int len  //把要往文件里写的数据变成比特类型的数组,偏移量,总共要写多少数据。

(3、程序第一步:导入类:import java.io.*;            //*号是导入io包里所有类


class Test{

   public static void main(String args []){

       FileInputStream fis = null;           //声明输入流引用,用来指向FileInputStream的一个对象

       FileOutputStream fos = null;//声明输出流的引用

try {

                fis = new FileInputStream("e:/src/from.txt"); //参数是文件的位置

                fos = new FileOutputStream("e:/src/to.txt");//参数是输出文件的位置

                byte [] buffer = new byte [100];   //因为读取的文件要放入比特类型的数组,这里要声明一个字节数组

                int temp = fis.read(buffer, 0,100);  //调用输入流对象的read方法,读取数据:将文件读到buffer数组里

                fos.write(buffer, 0, temp);

              

/*将字节数据还原成字符

String s = new String(buffer);生成一个String对象,字节数组作为参数

s = s.trim();   //调用一个string对象的trim方法,将会去除这个字符串的首位空格

system.out.println(s);

*/

               

          }

          catch(Exception e){

                   system.out.println(e);

          }

          finally{

               try{

                fis.close();

                fos.close();   //关闭输出流

               }

              catch(Exception e){

                   system.out.println(e);

               }     


           }

     }

}



字符流:读写文件时是以字符为单位。

字符输入流:Reader     子类:FileReader     方法:int read(char [] c, int off, int len)

字符输出流:Writer       子类:FileWriter        方法:void write(char [] c, int off, int len)




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值