zoukankan      html  css  js  c++  java
  • java 文件及流读取

    在Java语言的IO编程中,读取文件是分两个步骤:1、将文件中的数据转换为流,2、读取流内部的数据。其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用输入流对象中的read方法即可实现了。

    使用输入流进行编程时,代码一般分为3个部分:1、创建流对象,2、读取流对象内部的数据,3、关闭流对象。下面以读取文件的代码示例:

    import java.io.*;

    /**

     * 使用FileInputStream读取文件

     */

    public class ReadFile1 {

             public static void main(String[] args) {

                        FileInputStream fis = null;     //声明流对象            

                       try{

                                 fis = new FileInputStream("e:\a.txt");          //创建流对象

                                //读取数据,并将读取到的数据存储到数组中

                                byte[] data = new byte[1024]; //数据存储的数组

                                int i = 0; //当前下标

                                //读取流中的第一个字节数据

                                int n = fis.read();

                                //依次读取后续的数据

                                while(n != -1){ //未到达流的末尾

                                         //将有效数据存储到数组中

                                         data[i] = (byte)n;

                                         //下标增加

                                         i++;

                                         //读取下一个字节的数据

                                          n = fis.read();

                                }

                               

                                //解析数据

                                String s = new String(data,0,i);

                                //输出字符串

                                System.out.println(s);

                       }catch(Exception e){

                                e.printStackTrace();

                       }finally{

                                try{

                                         //关闭流,释放资源

                                         fis.close();

                                }catch(Exception e){}

                       }

             }

    }

    下面的示例代码是使用另外一个read方法实现读取的代码:

                       import java.io.FileInputStream;

    /**

     * 使用FileInputStream读取文件

     */

    public class ReadFile2 {

             public static void main(String[] args) {

                       //声明流对象

                       FileInputStream fis = null;                 

                       try{

                                //创建流对象

                                fis = new FileInputStream("e:\a.txt");

                                //读取数据,并将读取到的数据存储到数组中

                                byte[] data = new byte[1024]; //数据存储的数组

                                int i = fis.read(data);

                               

                                //解析数据

                                String s = new String(data,0,i);

                                //输出字符串

                                System.out.println(s);

                       }catch(Exception e){

                                e.printStackTrace();

                       }finally{

                                try{

                                         //关闭流,释放资源

                                         fis.close();

                                }catch(Exception e){}

                       }

             }

    }

      使用输出流进行编程的步骤是:

                       1、建立输出流

                                建立对应的输出流对象,也就是完成由流对象到外部数据源之间的转换。

                       2、向流中写入数据

                                将需要输出的数据,调用对应的write方法写入到流对象中。

                       3、关闭输出流

                                在写入完毕以后,调用流对象的close方法关闭输出流,释放资源。

    下面以FileOutputStream为例子说明输出流的使用。示例代码如下:

                       import java.io.*;

    /**

     * 使用FileOutputStream写文件示例

     */

    public class WriteFile1 {

             public static void main(String[] args) {

                       String s = "Java语言";

                       int n = 100;

                       //声明流对象

                       FileOutputStream fos = null;

                       try{

                                //创建流对象

                                fos = new FileOutputStream("e:\out.txt");

                                //转换为byte数组

                                byte[] b1 = s.getBytes();

                                //换行符

                                byte[] b2 = " ".getBytes();

                                byte[] b3 = String.valueOf(n).getBytes();

                                //依次写入文件

                                fos.write(b1);

                                fos.write(b2);

                                fos.write(b3);

                       } catch (Exception e) {

                                e.printStackTrace();

                       }finally{

                                try{

                                         fos.close();

                                }catch(Exception e){}

                       }

             }

    }

  • 相关阅读:
    免费报表工具 积木报表(JiMuReport)的安装
    jeecgboot积木报表(jimuReport)SQL Server切换
    Machine Learning目录
    Pytorch05_torch安装(GPU版)
    Pytorch04_RNN结构
    Pytorch03_张量变化
    Pytorch02_GPU加速
    Pytorch01_通用结构
    怎么将本地文件上传到远程git仓库
    SpringCloud-微服务架构编码构建
  • 原文地址:https://www.cnblogs.com/xuepei/p/3973229.html
Copyright © 2011-2022 走看看