com.jdon.util.FileUtil Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jdonframework Show documentation
Show all versions of jdonframework Show documentation
JdonFramework is a java framework that you can use to build your Domain Driven Design + CQRS + EventSource applications with asynchronous concurrency and higher throughput.
/**
* Copyright 2003-2006 the original author or authors.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.jdon.util;
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.OutputStreamWriter;
import java.io.PrintWriter;
public class FileUtil {
private static String ENCODING = "UTF-8";
/**
* write the content to a file;
*
* @param output
* @param content
* @throws Exception
*/
public static void createFile(String output, String content) throws Exception {
OutputStreamWriter fw = null;
PrintWriter out = null;
try {
if (ENCODING == null)
ENCODING = PropsUtil.ENCODING;
fw = new OutputStreamWriter(new FileOutputStream(output), ENCODING);
out = new PrintWriter(fw);
out.print(content);
} catch (Exception ex) {
throw new Exception(ex);
} finally {
if (out != null)
out.close();
if (fw != null)
fw.close();
}
}
/**
* read the content from a file;
*
* @param output
* @param content
* @throws Exception
*/
public static String readFile(String input) throws Exception {
char[] buffer = new char[4096];
int len = 0;
StringBuilder content = new StringBuilder(4096);
if (ENCODING == null)
ENCODING = PropsUtil.ENCODING;
InputStreamReader fr = null;
BufferedReader br = null;
try {
fr = new InputStreamReader(new FileInputStream(input), ENCODING);
br = new BufferedReader(fr);
while ((len = br.read(buffer)) > -1) {
content.append(buffer, 0, len);
}
} catch (Exception e) {
throw new Exception(e);
} finally {
if (br != null)
br.close();
if (fr != null)
fr.close();
}
return content.toString();
}
/**
* This class moves an input file to output file
*
* @param String
* input file to move from
* @param String
* output file
*
*/
public static void move(String input, String output) throws Exception {
File inputFile = new File(input);
File outputFile = new File(output);
try {
inputFile.renameTo(outputFile);
} catch (Exception ex) {
throw new Exception("Can not mv" + input + " to " + output + ex.getMessage());
}
}
/**
* This class copies an input file to output file
*
* @param String
* input file to copy from
* @param String
* output file
*/
public static boolean copy(String input, String output) throws Exception {
int BUFSIZE = 65536;
FileInputStream fis = new FileInputStream(input);
FileOutputStream fos = new FileOutputStream(output);
try {
int s;
byte[] buf = new byte[BUFSIZE];
while ((s = fis.read(buf)) > -1) {
fos.write(buf, 0, s);
}
} catch (Exception ex) {
throw new Exception("makehome" + ex.getMessage());
} finally {
fis.close();
fos.close();
}
return true;
}
/**
* create a directory
*
* @param home
* @throws Exception
*/
public static void makehome(String home) throws Exception {
File homedir = new File(home);
if (!homedir.exists()) {
try {
homedir.mkdirs();
} catch (Exception ex) {
throw new Exception("Can not mkdir :" + home + " Maybe include special charactor!");
}
}
}
/**
* This class copies an input files of a directory to another directory not
* include subdir
*
* @param String
* sourcedir the directory to copy from such as:/home/bqlr/images
* @param String
* destdir the target directory
*/
public static void CopyDir(String sourcedir, String destdir) throws Exception {
File dest = new File(destdir);
File source = new File(sourcedir);
String[] files = source.list();
try {
makehome(destdir);
} catch (Exception ex) {
throw new Exception("CopyDir:" + ex.getMessage());
}
for (int i = 0; i < files.length; i++) {
String sourcefile = source + File.separator + files[i];
String destfile = dest + File.separator + files[i];
File temp = new File(sourcefile);
if (temp.isFile()) {
try {
copy(sourcefile, destfile);
} catch (Exception ex) {
throw new Exception("CopyDir:" + ex.getMessage());
}
}
}
}
/**
* This class del a directory recursively,that means delete all files and
* directorys.
*
* @param File
* directory the directory that will be deleted.
*/
public static void recursiveRemoveDir(File directory) throws Exception {
if (!directory.exists())
throw new IOException(directory.toString() + " do not exist!");
String[] filelist = directory.list();
File tmpFile = null;
for (int i = 0; i < filelist.length; i++) {
tmpFile = new File(directory.getAbsolutePath(), filelist[i]);
if (tmpFile.isDirectory()) {
recursiveRemoveDir(tmpFile);
} else if (tmpFile.isFile()) {
try {
tmpFile.delete();
} catch (Exception ex) {
throw new Exception(tmpFile.toString() + " can not be deleted " + ex.getMessage());
}
}
}
try {
directory.delete();
} catch (Exception ex) {
throw new Exception(directory.toString() + " can not be deleted " + ex.getMessage());
} finally {
filelist = null;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy