zoukankan      html  css  js  c++  java
  • java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

     1 2 
     3 import java.io.BufferedReader;
     4 import java.io.BufferedWriter;
     5 import java.io.File;
     6 import java.io.FileInputStream;
     7 import java.io.FileNotFoundException;
     8 import java.io.FileOutputStream;
     9 import java.io.IOException;
    10 import java.io.InputStreamReader;
    11 import java.io.OutputStreamWriter;
    12 import java.io.UnsupportedEncodingException;
    13 
    14 /**
    15  * 文件读取四步骤
    16  * ---------要保证文件存在,不能保证就需判断是否存在,在这里手动创建一个文件text.txt以确保存在
    17  * 1:获取文件
    18  * 2:将文件写入到文件输入流中<文件输入流是字节流>
    19  * 3:将文件流写入到输入流Reader中
    20  * 4:将输入流文件放到缓冲流BufferReader中
    21  * 四步骤:执行完毕文件会读入缓冲流
    22  * 5:从缓冲流中每次读取一行打印输出
    23  * 6:关闭资源<流>
    24  * 文件写出同理:
    25  * @author NEXT_NiGHT
    26  *
    27  */
    28 public class FileRW {
    29 
    30     public static void main(String[] args) {
    31     //----------------------文件读入    
    32         //1
    33         File file = new File("text.txt");
    34         try {
    35             //2
    36             FileInputStream fis=new FileInputStream(file);
    37             //3
    38             InputStreamReader isr=new InputStreamReader(fis,"utf-8");//FileInputStream字符流转换成字节流要注意编码
    39             //4
    40             BufferedReader br=new BufferedReader(isr);
    41           //5
    42             String line;//用来保存读取到的数据
    43             while((line = br.readLine())!=null){//每次读取一行不为空
    44                 System.out.println(line);
    45             }
    46         //6
    47             br.close();
    48             isr.close();
    49             fis.close();
    50             
    51 
    52     //----------------------文件写出
    53             //1链接文件<要写出的位置>
    54             File file2=new File("newtext.txt");
    55             //2文件输出流
    56             FileOutputStream fos=new FileOutputStream(file2);
    57             //3输出流
    58             OutputStreamWriter os=new OutputStreamWriter(fos,"utf-8");
    59             //4写入缓冲流
    60             BufferedWriter bw=new BufferedWriter(os);
    61             //5写入
    62             bw.write("七月七日长生殿
    ");
    63             bw.write("夜半无人私语时
    ");
    64             bw.write("在天月作比翼鸟
    ");
    65             bw.write("在地愿为连理枝
    ");
    66             //6关闭资源
    67             bw.close();
    68             os.close();
    69             fos.close();
    70         } catch (FileNotFoundException e) {
    71             e.printStackTrace();
    72         } catch (UnsupportedEncodingException e) {
    73             e.printStackTrace();
    74         } catch (IOException e) {
    75             e.printStackTrace();
    76         }
    77     
    78     
    79     
    80     
    81     }
    82 }

    以上代码完整阐述了从文件中读取的内容并打印输出,以及如何向一个文件中写入内容:

    完整的eclise java代码,可直接运行;

    text.txt文件:

    七月七日长生殿
    夜半无人私语时
    在天愿作比翼鸟
    在地愿为连理枝
    

      

    注意:

      33行位置链接一个文件,若此时文件不存在那么进行后面的操作就会报异常,提示文件不存在。如果未进行文件是否存在的判定那么就必须保证文件是存在的。所以运行之前要在工程中创建一个文件text.txt

      55行的位置同样链接了一个文件,若文件不存在是否后续操作也会报异常呢?答案是否定的,56行的操作会自动创建一个文件,并且后面写入内容时会存入此文件

      62行写入文件时用到了write这个函数,执行完毕后如果我们换掉写入的内容,那么newtext.txt这个文件中的内容将是新的内容,write函数将会覆盖掉文件原来的内容

                                                                             2015-07-20

    ❤如果这篇文章对你有一点点的帮助请给一份推荐! 谢谢!你们的鼓励是我继续前进的动力。更多内容欢迎访问我的个人博客

    ❤本博客只适用于研究学习为目的,大多为学习笔记,如有错误欢迎指正,如有误导概不负责(本人尽力保证90%的验证和10%的猜想)。

  • 相关阅读:
    Uva11988
    Uva140
    子集生成
    Uva129
    Uva524
    Uva10976
    Uva11059
    Uva725
    HDU4268(贪心+multiset)
    HDU2034(set水题)
  • 原文地址:https://www.cnblogs.com/NextNight/p/4662949.html
Copyright © 2011-2022 走看看