把内容写入指定目录指定文件的java文件工具类,支持日期格式目录名的生成

简介:
package com.yanek.test;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;

public class FileUtil {
	
	private static SimpleDateFormat sdfYmd = new SimpleDateFormat("yyyy-MM-dd");

	/**
	 * @param args
	 * 
	 */
	public static void main(String[] args) {

	
		writeContentToLocalFile("/temp/test/","test1.txt","test\r\n","UTF-8");
		writeContentToLocalFile("/temp/test/","test1.txt","test\r\n","UTF-8");
		
		String currentDate = sdfYmd.format(System.currentTimeMillis());
		
		String basePath="/temp";
		String fullpath=basePath+getDirname(currentDate);
		
		writeContentToLocalFile(fullpath,"test1.txt","test111\r\n","UTF-8");

	}
	
	/**
	 * 
	 * @param dirname  目录名
	 * @param localfilename 文件名
	 * @param content 文件内容
	 * @param charset 编码
	 */
	public static void writeContentToLocalFile(String dirname,String localfilename,String content,String charset){
			
			File f=new File(dirname);
			if (!f.exists())
			{
					f.mkdirs();
			}
			String localFilename = dirname+File.separator+localfilename;

			FileOutputStream fos;
			try {
				fos = new FileOutputStream(localFilename,true);
				
				
				try {
					OutputStreamWriter writer = new OutputStreamWriter(fos, charset);
					
					try {
						writer.write(content);

					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					
					try {
						writer.close();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					try {
						fos.close();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					
				} catch (UnsupportedEncodingException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} //覆盖原来的文件 追加到后面

			
		}
		
	
	/**
	 * 根据日期字符串得到目录名 格式: /2008/10/15/
	 * @param datatime
	 * @return
	 */
	public static String getDirname(String datatime)
	{
		String nian=datatime.substring(0,4);
		String yue=datatime.substring(5,7);
		String ri=datatime.substring(8,10);
        return "/"+nian+"/"+yue+"/"+ri+"/";
	}
	

}

目录
相关文章
|
12天前
|
Java
Java“解析时到达文件末尾”解决
在Java编程中,“解析时到达文件末尾”通常指在读取或处理文件时提前遇到了文件结尾,导致程序无法继续读取所需数据。解决方法包括:确保文件路径正确,检查文件是否完整,使用正确的文件读取模式(如文本或二进制),以及确保读取位置正确。合理设置缓冲区大小和循环条件也能避免此类问题。
|
4天前
|
Java
Java开发如何实现文件的移动,但是在移动结束后才进行读取?
【10月更文挑战第13天】Java开发如何实现文件的移动,但是在移动结束后才进行读取?
15 2
|
4天前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
14 1
|
4天前
|
监控 Java
Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
【10月更文挑战第13天】Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
17 1
|
8天前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
21 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
10天前
|
算法 搜索推荐 Java
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
这篇文章介绍了如何使用Java后端技术,结合Graphics2D和Echarts等工具,生成包含个性化信息和图表的海报,并提供了详细的代码实现和GitHub项目链接。
30 0
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
|
14天前
|
消息中间件 Java 大数据
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
47 2
|
15天前
|
Java
Java 些许公共工具类
Java 些许公共工具类
12 1
|
4月前
|
Java
排名前16的Java工具类
排名前16的Java工具类
28 0
|
Java
排名前16的Java工具类
排名前16的Java工具类
187 0