Java 讀寫文件示例


import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Test4 {

    public static void main(String[] args) {
        FileUtil f = new FileUtil();
        System.out.println(f.read("c:/a.txt"));
        final String fileName = "c:/a.txt";
        System.out.println(f.delete(fileName));
        System.out.println(f.write(fileName, "這是java寫入的內容1"));
        System.out.println(f.append(fileName, "這是java寫入的內容2"));
        System.out.println(f.write(fileName, "這是java寫入的內容3"));

    }
}

/**
 * 文件讀寫類
 */
class FileUtil {

    /*
     * 刪除文件
     */
    public boolean delete(String fileName) {
        boolean result = false;
        File f = new File(fileName);
        if (f.exists()) {
            try {
                result = f.delete();
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else {
            result = true;
        }
        return result;
    }

    /*
     * 讀取文件
     */
    public String read(String fileName) {
        File f = new File(fileName);
        if (!f.exists()) {
            return "File not found!";
        }
        FileInputStream fs;
        String result = null;
        try {
            fs = new FileInputStream(f);
            byte[] b = new byte[fs.available()];
            fs.read(b);
            fs.close();
            result = new String(b);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return result;
    }

    /*
     *寫文件
     */
    public boolean write(String fileName, String fileContent) {
        boolean result = false;
        File f = new File(fileName);
        try {
            FileOutputStream fs = new FileOutputStream(f);
            byte[] b = fileContent.getBytes();
            fs.write(b);
            fs.flush();
            fs.close();
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

    /*
     * 追加內容到文件
     */
    public boolean append(String fileName, String fileContent) {
        boolean result = false;
        File f = new File(fileName);
        try {
            if (f.exists()) {
                FileInputStream fsIn = new FileInputStream(f);
                byte[] bIn = new byte[fsIn.available()];
                fsIn.read(bIn);
                String oldFileContent = new String(bIn);
                //System.out.println("舊內容:" + oldFileContent);
                fsIn.close();
                if (!oldFileContent.equalsIgnoreCase("")) {
                    fileContent = oldFileContent + "\r\n" + fileContent;
                    //System.out.println("新內容:" + fileContent);
                }
            }

            FileOutputStream fs = new FileOutputStream(f);
            byte[] b = fileContent.getBytes();
            fs.write(b);
            fs.flush();
            fs.close();
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

}
import java.io.*;

public class Test4 {

    /**
     * 讀取文件寫入到另外一個文件
     * @param args
     */
    public static void main(String[] args) {
        BufferedReader buffReader = null;
        BufferedWriter buffWriter = null;
        try {
            buffReader = new BufferedReader(new FileReader("C:\\a.txt"));
            buffWriter = new BufferedWriter(new FileWriter("C:\\a_bak.txt"));
            String line = null;
            while ((line = buffReader.readLine()) != null) {
                buffWriter.write(line);
                buffWriter.newLine();
                buffWriter.flush();
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM