关于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", "我的梦说别停留等待,就让光芒折射泪湿的瞳孔,映出心中最想拥有的彩虹,带我奔向那片有你的天空,因为你是我的梦 我的梦");
    }

}
时间: 2024-11-09 02:23:52

关于java中创建文件,并且写入内容的相关文章

小程序1:输入一个文件名,检测是否存在;如果不存在创建文件并写入内容

实现内容:输入一个文件名,检测是否存在:如果不存在创建文件并写入内容代码实现如下: 注意事项: 1.python os.path模块中  os.path.exists(path)  #路径存在则返回True,路径损坏返回False:::所以输入应该是“路径”,不是随意一个文件夹 2.IOError: [Errno 22] invalid mode ('r') or filename 这种错误的出现是在使用built-in函数file()或者open()的时候:因为文件的打开模式不对或文件名有问题

直接在终端创建文件并写入内容,不用vi ,vim等编辑器来完成

[[email protected] ~]# touch pmfiles  创建此文件 [[email protected] ~]# cat << EOF > pmfiles > ABC > 123 > 321 > NBA > CBA > WBA > TBH > EOF [[email protected] ~]# cat pmfiles  查看 ABC 123 321 NBA CBA WBA TBH

java中创建文件夹及文件

File fileDirs = new File("路径"); if (!fileDirs.exists()) fileDirs.mkdirs(); File file = new File("路径", "文件名"); if (!file.exists()) { file.createNewFile(); /** * 创建xls文件 */ // String createFile = ReportConfig.BULLETINREPORT+&qu

【Java】创建文件夹

Java中创建文件夹使用File类下自带的mkdirs()方法就能够轻松完成了, 本来没有什么好说的,唯一值得注意的是这个mkdirs()能够一次性创建多级目录,无须递归调用.也就是说,我要创建在F盘新建一个文件夹a,然后在这个文件夹a中在创建文件夹s,直接通过File file=new File("f:\\a\\s");指定f:\a\s这个路径,然后直接同过file.mkdirs()方法的调用,Java就会在系统中帮助你完成这两个文件夹的创建, 代码无须写成按照平时操作Windows

Java中的文件操作

在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前,我们要知道,计算机其实就是一个文件系统.在计算机中,我们能在硬盘中看到的所有东西都叫文件.由此看来,计算机中文件是一个很广的范围.事实上,计算机中文件被分为了3种,一个是标准文件,一个是目录文件,还有一个就是虚拟内存文件. 这三种对于文件的分类没有一个明确的定义,后缀名是(.txt..doc..m

Java学习-022-Properties 文件数据写入

Properties 配置文件写入主要通过 Properties.setProperty 和 Properties.store 两个方法,此文以一个简单的 properties 文件写入源码做示例. 小二上码...若有不足之处,敬请大神指正,不胜感激! Properties 文件写入源码如下所示: 1 /** 2 * @function write data to text file by Properties 3 * 4 * @author Aaron.ffp 5 * @version V1.

[转]VC++中对文件的写入和读取

本文转自:http://blog.csdn.net/fanghb_1984/article/details/7425705 本文介绍两种方法对文件进行读取和写入操作:1.采用fstream类:2.采用CStdioFile类. CStdioFile继承自CFile,一个CStdioFile对象代表一个用运行时函数fopen 打开的C 运行时流式文件. C++中的fstream类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O.stream类有两个重要的运算符:插入器(<<)和析

JAVA中创建字符串的两种方式的区别

我们知道,通常在Java中创建一个字符串会有两种方式,通过双引号直接赋值和通过构造器来创建. String x = "abcd"; String y = new String("abcd"); 然而,这两种方式之间的区别是什么?分别应用于哪些情况,之前还不是很懂. 1.双引号的方式 String x = "abcd"; String y = "abcd"; System.out.println(x==y);//true Sys

PHP 文件操作类(创建文件并写入) 生成日志

<?php /** * 文件操作(生成日志)支持多条插入 * (如果插入多条语句并换行 用','逗号分开) * */ class log { public $path = './info.txt'; //默认值文件 public $mode = 'a'; //默认追加写 public $content = '默认值:空'; //默认内容是 空 public function addlog($path = null, $mode = null, $content = null) { //判断写入的