java文件寫入或追加續寫

java文件寫入或追加續寫

代碼實例,例如:

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public static void main(String[] args){
        //需要寫入的文件的路徑
        String filePath = "D:/test.txt";

        //寫入的文件的內容
        List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();

        //添加寫入文件的內容:1000個Map集合型數據
        for(int i = 1;i <= 1000;i++){
            Map<String,Object> map = new HashMap<String,Object>();
            map.put("key_"+i, "value_"+i);
            list.add(map);
        }


        try{
            File file = new File(filePath);
            FileOutputStream fos = null;
            if(!file.exists()){
                file.createNewFile();//如果文件不存在,就創建該文件
                fos = new FileOutputStream(file);//首次寫入獲取
            }else{
                //如果文件已存在,那麼就在文件末尾追加寫入
                fos = new FileOutputStream(file,true);//這裏構造方法多了一個參數true,表示在文件末尾追加寫入
            }

            OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");//指定以UTF-8格式寫入文件

            //遍歷list
            for(Map<String,Object> map: list){
                //遍歷Map
                for(Map.Entry<String, Object> entry : map.entrySet()){
                    //以英文","逗號隔開多個寫入的str,每個Map寫一行
                    String str = entry.getKey()+"="+entry.getValue();
                    osw.write(str+",");
                }

                //每寫入一個Map就換一行
                osw.write("\r\n");
            }
            //寫入完成關閉流
            osw.close();
        }catch (Exception e) {
            e.printStackTrace();
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章