• 关于java中创建文件,并且写入内容


    以下内容完全为本人原创,如若转载,请注明出自:http://www.cnblogs.com/XiOrang/

    前两天在项目中因为要通过http请求获取一个比较大的json数据(300KB左右)并且保存,思来想去,最后还是决定将获取到的json数据以文件的形式保存下来,每次使用的时候去读取文件就可以了。

    废话不多说了,直接上代码。

    以下是代码截图,文章结尾会有完成的代码文件可供下载。

    创建文件方法:

    写入文件内容方法:

    删除文件方法:

    测试:

    关于文件创建,写入内容,删除。可以根据自己的情况再稍作修改。

    以下是代码类。

    复制代码
    package com.file.run;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.util.UUID;
    
    /** 
    * @author 夕橘子-O
    * @version 2016年7月8日 上午10:38:49 
    */
    public class ForFile {
        //生成文件路径
        private static String path = "D:\file\";
        
        //文件路径+名称
        private static String filenameTemp;
        /**
         * 创建文件
         * @param fileName  文件名称
         * @param filecontent   文件内容
         * @return  是否创建成功,成功则返回true
         */
        public static boolean createFile(String fileName,String filecontent){
            Boolean bool = false;
            filenameTemp = path+fileName+".txt";//文件路径+名称+文件类型
            File file = new File(filenameTemp);
            try {
                //如果文件不存在,则创建新的文件
                if(!file.exists()){
                    file.createNewFile();
                    bool = true;
                    System.out.println("success create file,the file is "+filenameTemp);
                    //创建文件成功后,写入内容到文件里
                    writeFileContent(filenameTemp, filecontent);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            
            return bool;
        }
        
        /**
         * 向文件中写入内容
         * @param filepath 文件路径与名称
         * @param newstr  写入的内容
         * @return
         * @throws IOException
         */
        public static boolean writeFileContent(String filepath,String newstr) throws IOException{
            Boolean bool = false;
            String filein = newstr+"
    ";//新写入的行,换行
            String temp  = "";
            
            FileInputStream fis = null;
            InputStreamReader isr = null;
            BufferedReader br = null;
            FileOutputStream fos  = null;
            PrintWriter pw = null;
            try {
                File file = new File(filepath);//文件路径(包括文件名称)
                //将文件读入输入流
                fis = new FileInputStream(file);
                isr = new InputStreamReader(fis);
                br = new BufferedReader(isr);
                StringBuffer buffer = new StringBuffer();
                
                //文件原有内容
                for(int i=0;(temp =br.readLine())!=null;i++){
                    buffer.append(temp);
                    // 行与行之间的分隔符 相当于“
    ”
                    buffer = buffer.append(System.getProperty("line.separator"));
                }
                buffer.append(filein);
                
                fos = new FileOutputStream(file);
                pw = new PrintWriter(fos);
                pw.write(buffer.toString().toCharArray());
                pw.flush();
                bool = true;
            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }finally {
                //不要忘记关闭
                if (pw != null) {
                    pw.close();
                }
                if (fos != null) {
                    fos.close();
                }
                if (br != null) {
                    br.close();
                }
                if (isr != null) {
                    isr.close();
                }
                if (fis != null) {
                    fis.close();
                }
            }
            return bool;
        }
        
        /**
         * 删除文件
         * @param fileName 文件名称
         * @return
         */
        public static boolean delFile(String fileName){
            Boolean bool = false;
            filenameTemp = path+fileName+".txt";
            File file  = new File(filenameTemp);
            try {
                if(file.exists()){
                    file.delete();
                    bool = true;
                }
            } catch (Exception e) {
                // TODO: handle exception
            }
            return bool;
        }
        public static void main(String[] args) {
            UUID uuid = UUID.randomUUID();
            createFile(uuid+"myfile", "我的梦说别停留等待,就让光芒折射泪湿的瞳孔,映出心中最想拥有的彩虹,带我奔向那片有你的天空,因为你是我的梦 我的梦");
        }
        
        
        
        
  • 相关阅读:
    快速排序
    C++ string类的用法整理
    C++ vector类的用法整理
    C++ map类的用法整理
    uniapp 路由封装(简易版)
    快速上手 vue3
    shell的shift、$*、$@
    shell IFS 配合 read 读文件
    shell 索引数组和关联索引
    Codeforces Round #775 (Div. 2) Solution Set
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/7650381.html
Copyright © 2020-2023  润新知