你的位置:首页 > Java教程

[Java教程]关于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+"\r\n";//新写入的行,换行    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);        // 行与行之间的分隔符 相当于“\n”        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", "我的梦说别停留等待,就让光芒折射泪湿的瞳孔,映出心中最想拥有的彩虹,带我奔向那片有你的天空,因为你是我的梦 我的梦");  }                                }