Java讀寫文件的幾種方法

原文:Java讀寫文件的幾種方法

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MainClass
{
        public static void main(String[] args)
        {

        }
        /**
         * 使用FileWriter類寫文本文件
         */
        public static void writeMethod1()
        {
                String fileName="C:\\kuka.txt";
                try
                {
                        //使用這個構造函數時,如果存在kuka.txt文件,
                        //則先把這個文件給刪除掉,然後創建新的kuka.txt
                        FileWriter writer=new FileWriter(fileName);
                        writer.write("Hello Kuka:\n");
                        writer.write("  My name is coolszy!\n");
                        writer.write("  I like you and miss you。");
                        writer.close();
                } catch (IOException e)
                {
                        e.printStackTrace();
                }
        }
        /**
         * 使用FileWriter類往文本文件中追加信息
         */
        public static void writeMethod2()
        {
                String fileName="C:\\kuka.txt";
                try
                {
                        //使用這個構造函數時,如果存在kuka.txt文件,
                        //則直接往kuka.txt中追加字符串
                        FileWriter writer=new FileWriter(fileName,true);
                        SimpleDateFormat format=new SimpleDateFormat();
                        String time=format.format(new Date());
                        writer.write("\n\t"+time);
                        writer.close();
                } catch (IOException e)
                {
                        e.printStackTrace();
                }
        }
        //注意:上面的例子由於寫入的文本很少,使用FileWrite類就可以了。但如果需要寫入的
        //內容很多,就應該使用更爲高效的緩衝器流類BufferedWriter。
        /**
         * 使用BufferedWriter類寫文本文件
         */
        public static void writeMethod3()
        {
                String fileName="C:/kuka.txt";
                try
                {
                        BufferedWriter out=new BufferedWriter(new FileWriter(fileName));
                        out.write("Hello Kuka:");
                        out.newLine();  //注意\n不一定在各種計算機上都能產生換行的效果
                        out.write("  My name is coolszy!\n");
                        out.write("  I like you and miss you。");
                        out.close();
                } catch (IOException e)
                {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }
        /**
         * 使用FileReader類讀文本文件
         */
        public static void readMethod1()
        {
                String fileName="C:/kuka.txt";
                int c=0;
                try
                {
                        FileReader reader=new FileReader(fileName);
                        c=reader.read();
                        while(c!=-1)
                        {
                                System.out.print((char)c);
                                c=reader.read();
                        }
                        reader.close();
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }

        /**
         * 使用BufferedReader類讀文本文件
         */
        public static void readMethod2()
        {
                String fileName="c:/kuka.txt";
                String line="";
                try
                {
                        BufferedReader in=new BufferedReader(new FileReader(fileName));
                        line=in.readLine();
                        while (line!=null)
                        {
                                System.out.println(line);
                                line=in.readLine();
                        }
                        in.close();
                } catch (IOException e)
                {
                        e.printStackTrace();
                }
        }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章