📄 fileoperate.java
字号:
package cn.myapps.util.file;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collection;
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class FileOperate {
public static void copyFileToFolder(String fileName, String folderName)
throws Exception {
try {
File file = new File(fileName);
if (file.isFile()) {
if (!folderName.endsWith("\\"))
folderName += "\\";
FileInputStream fis = new FileInputStream(file);
byte[] fileContent = new byte[fis.available()];
fis.read(fileContent);
String path = folderName + file.getName();
FileOutputStream fos = new FileOutputStream(path);
fos.write(fileContent);
fis.close();
fos.close();
} else {
throw new Exception(fileName
+ " is not a file or it is not exist!");
}
} catch (Exception e) {
throw new Exception(e.getMessage());
}
}
public static void cutFileToFolder(String fileName, String folderName)
throws Exception {
try {
File file = new File(fileName);
if (file.isFile()) {
copyFileToFolder(fileName, folderName);
file.delete();
} else {
throw new Exception(fileName
+ " is not a file or it is not exist!");
}
} catch (Exception e) {
throw new Exception(e.getMessage());
}
}
public static void copyFolderFilesToOtherFolder(String oldFolderName,
String folderName) throws Exception {
try {
String strMsg = "";
File file = new File(oldFolderName);
if (file.isDirectory()) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
try {
copyFileToFolder(files[i].getPath(), folderName);
} catch (Exception ee) {
strMsg += "copy file<<" + files[i].getPath()
+ ">> error,message:" + ee.getMessage()
+ "\r\n";
}
}
}
if (!strMsg.equals("")) {
throw new Exception(strMsg);
}
} else {
throw new Exception(oldFolderName
+ " is not a directory or it is not exist!");
}
} catch (Exception e) {
throw new Exception(e.getMessage());
}
}
public static void cutFolderFilesToOtherFolder(String oldFolderName,
String folderName) throws Exception {
try {
String strMsg = "";
File file = new File(oldFolderName);
if (file.isDirectory()) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
try {
cutFileToFolder(files[i].getPath(), folderName);
} catch (Exception ee) {
strMsg += "cut file<<" + files[i].getPath()
+ ">> error,message:" + ee.getMessage()
+ "\r\n";
}
}
}
if (!strMsg.equals("")) {
throw new Exception(strMsg);
}
} else {
throw new Exception(oldFolderName
+ " is not a directory or it is not exist!");
}
} catch (Exception e) {
throw new Exception(e.getMessage());
}
}
public static void deleteAllFilesInFolder(String folderName)
throws Exception {
try {
String strMsg = "";
File file = new File(folderName);
if (file.isDirectory()) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
files[i].delete();
}
} else {
throw new Exception(folderName
+ " is not a directory or it is not exist!");
}
} catch (Exception e) {
throw new Exception(e.getMessage());
}
}
public static void writeFile(String fileFullName, String content,
boolean overwrite) throws IOException {
if (fileFullName != null) {
String path = fileFullName.substring(0, fileFullName
.lastIndexOf("/"));
if (!(new File(path).isDirectory())) {
new File(path).mkdirs();
}
}
File file = new File(fileFullName);
FileWriter writer = new FileWriter(file);
if (overwrite) {
writer.write(content);
} else {
writer.write(content);
}
writer.flush();
writer.close();
}
public static void writeFileUTF(String fileFullName, String content,
boolean overwrite) throws IOException {
if (fileFullName != null) {
String path = fileFullName.substring(0, fileFullName
.lastIndexOf("/"));
if (!(new File(path).isDirectory())) {
new File(path).mkdirs();
}
}
OutputStream os = new FileOutputStream(fileFullName);
OutputStreamWriter writer = new OutputStreamWriter(os, "UTF-8");
if (overwrite) {
writer.write(content);
} else {
writer.write(content);
}
writer.flush();
writer.close();
}
public static void writeFile(String fileFullName, File file)
throws Exception {
if (file != null) {
FileOutputStream outputStream = new FileOutputStream(fileFullName);
FileInputStream fileIn = new FileInputStream(file);
byte[] buffer = new byte[1024];
int len;
while ((len = fileIn.read(buffer)) > 0) {
outputStream.write(buffer, 0, len);
}
fileIn.close();
outputStream.close();
}
}
public static ArrayList SplitTxtToArray(String fileFullName)
throws Exception {
ArrayList txt = new ArrayList();
File file = new File(fileFullName);
BufferedReader in = new BufferedReader(new FileReader(file));
String strLine = "";
while ((strLine = in.readLine()) != null) {
txt.add(strLine);
}
return txt;
}
public static ArrayList getFolderAllFileName(String folderName)
throws Exception {
ArrayList fileNamelist = new ArrayList();
try {
String strMsg = "";
File file = new File(folderName);
if (file.isDirectory()) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
fileNamelist.add(files[i].getName());
}
} else {
throw new Exception(folderName
+ " is not a directory or it is not exist!");
}
} catch (Exception e) {
throw new Exception(e.getMessage());
}
return fileNamelist;
}
public static final String getFileContentAsStringUTF(String fileFullName)
throws Exception {
File file = new File(fileFullName);
StringBuffer sb = new StringBuffer();
InputStreamReader input = new InputStreamReader(new FileInputStream(file),"utf-8");
BufferedReader in = new BufferedReader(input);
String strLine = "";
while ((strLine = in.readLine()) != null) {
sb.append(strLine);
sb.append("\n");
}
return sb.toString();
}
public static final String getFileContentAsString(String fileFullName)
throws Exception {
File file = new File(fileFullName);
StringBuffer sb = new StringBuffer();
BufferedReader in = new BufferedReader(new FileReader(file));
String strLine = "";
while ((strLine = in.readLine()) != null) {
sb.append(strLine);
sb.append("\n");
}
return sb.toString();
}
public static File[] getAllFilesInFolder(String folderName) {
return getAllFilesInFolderByExtension(folderName, "");
}
public static File[] getAllFilesInFolderByExtension(String folderName,
String extension) {
File dir = new File(folderName);
if (dir.isDirectory()) {
Collection rtn = new ArrayList();
File[] files = dir.listFiles();
if (extension != null && extension.trim().length() > 0) {
for (int i = 0; i < files.length; i++) {
if (files[i].getName().indexOf("." + extension) != -1) {
rtn.add(files[i]);
}
}
return (File[]) rtn.toArray(new File[rtn.size()]);
} else {
return files;
}
}
return new File[0];
}
public static void main(String[] args) {
try {
FileOperate.cutFolderFilesToOtherFolder("D:\\test", "d:\\yhp");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -