zoukankan      html  css  js  c++  java
  • java文件的I/O

    【原创】

    java文件的I/O操作,简单来说就是向文件中写入数据以及从文件中读出数据,这是我们平日做的最多的操作,这里给出两种文件I/O操作,当然还有许多的操作方法,各种流的使用,可谓是高深莫测;不管了,直接怼代码:

     1 package com.jiajia.filedemo;
     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.FileOutputStream;
     8 import java.io.FileReader;
     9 import java.io.FileWriter;
    10 import java.io.InputStreamReader;
    11 import java.io.OutputStreamWriter;
    12 
    13 public class Demo_1 {
    14         public static void main(String[] args) throws Exception{
    15         String filename_input = "/Users/fanjiajia/Desktop/temp";
    16         String filename_output = "/Users/fanjiajia/Desktop/temp2.txt";//若temp1不存在,他会自己给你创建一个
    17         String str = read_1(filename_input);
    18         System.out.println(str);
    19         writer_2(str, filename_output);
    20     }
    21     /**
    22      *文件读取方法一
    23      * @param filename
    24      * @return
    25      * @throws Exception
    26      */
    27     public static String read_1(String filename) throws Exception{
    28         File f = new File(filename);
    29         FileInputStream f_in = new FileInputStream(f);
    30         InputStreamReader isr = new InputStreamReader(f_in);
    31         BufferedReader buf_reader = new BufferedReader(isr); 
    32         String s;
    33         StringBuilder sb = new StringBuilder();
    34         while((s=buf_reader.readLine())!=null){
    35             sb.append(s+"
    ");
    36         }
    37         buf_reader.close();
    38         isr.close();
    39         f_in.close();
    40         return sb.toString();
    41     }
    42     /**
    43      * 文件读取方法二
    44      * @param filename
    45      * @return
    46      * @throws Exception
    47      */
    48     public static String read_2(String filename) throws Exception {
    49         FileReader filereader = new FileReader(filename);
    50         BufferedReader in = new BufferedReader(filereader);
    51         String s ;
    52         StringBuilder sb = new StringBuilder();
    53         while((s=in.readLine())!=null){
    54             sb.append(s+"
    ");
    55         }
    56         in.close();
    57         filereader.close();
    58         return sb.toString();
    59     }
    60 
    61     /**
    62      * 文件写入方法一
    63      * @param str
    64      * @param filename
    65      * @throws Exception
    66      */
    67     public static void writer_1(String str,String filename    ) throws Exception{
    68         //将给定的字符串输出到filename文件中
    69         FileWriter f_writer = new FileWriter(filename);
    70         BufferedWriter buf_writer = new BufferedWriter(f_writer);
    71         buf_writer.write(str);
    72         buf_writer.close();
    73         f_writer.close();
    74     }
    75     /**
    76      * 文件写入方法二
    77      * @param str
    78      * @param filename
    79      * @throws Exception
    80      */
    81     public static void writer_2(String str,String filename) throws Exception{
    82         File f = new File(filename);
    83         FileOutputStream f_os = new FileOutputStream(f);
    84         OutputStreamWriter os  = new OutputStreamWriter(f_os); 
    85         BufferedWriter buf_writer = new BufferedWriter(os);
    86         buf_writer.write(str);
    87         buf_writer.close();
    88         os.close();
    89         f_os.close();
    90     }
    91 }

    很明显直接使用FileReader 和 FileWriter这两个类并结合BufferedReader/BufferedWriter很方便

    其实FileWriter类的对象w直接就可以write,并且在创建是=时候,如果是new FileWriter(。。。,true);第二个参数为true的话,便是在文件末尾写;

  • 相关阅读:
    【SAS NOTE】OUTPUT
    【SAS NOTES】_NULL_
    【SAS NOTE】sas 9.2 安装
    【SAS NOTE】FREQ
    纯数学教程 Page 203 例XLI (1)
    纯数学教程 Page 203 例XLI (3)
    纯数学教程 Page 203 例XLI (2)
    Prove Cauchy's inequality by induction
    纯数学教程 Page 325 例LXVIII (15) 调和级数发散
    纯数学教程 Page 325 例LXVIII (15) 调和级数发散
  • 原文地址:https://www.cnblogs.com/numen-fan/p/6595081.html
Copyright © 2011-2022 走看看