工具更新
更新:FileUtils 更新方法 deleteAllFile() 用于删除文件夹 更新:FileUtils 更新方法 copyAllFile() 用于复制文件夹 更新:FileUtils 更新方法 fileChannelCopy() 用于复制文件(通道方式) 删除:FileUtils 的构造方法
This commit is contained in:
parent
c89fcf4116
commit
fb58c9838f
@ -9,6 +9,7 @@ import java.nio.channels.FileChannel;
|
|||||||
|
|
||||||
import me.skymc.taboolib.methods.MethodsUtils;
|
import me.skymc.taboolib.methods.MethodsUtils;
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public class CopyUtils {
|
public class CopyUtils {
|
||||||
|
|
||||||
public static long Copy(File file1, File file2) throws IOException {
|
public static long Copy(File file1, File file2) throws IOException {
|
||||||
|
@ -4,6 +4,7 @@ import java.io.*;
|
|||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLConnection;
|
import java.net.URLConnection;
|
||||||
|
import java.nio.channels.FileChannel;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import me.skymc.taboolib.message.MsgUtils;
|
import me.skymc.taboolib.message.MsgUtils;
|
||||||
@ -34,6 +35,12 @@ public class FileUtils {
|
|||||||
return "[IP ERROR]";
|
return "[IP ERROR]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建并获取文件
|
||||||
|
*
|
||||||
|
* @param filePath
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public static File file(String filePath) {
|
public static File file(String filePath) {
|
||||||
File file = new File(filePath);
|
File file = new File(filePath);
|
||||||
if (!file.exists()) {
|
if (!file.exists()) {
|
||||||
@ -46,6 +53,13 @@ public class FileUtils {
|
|||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建并获取文件
|
||||||
|
*
|
||||||
|
* @param Path
|
||||||
|
* @param filePath
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public static File file(File Path, String filePath) {
|
public static File file(File Path, String filePath) {
|
||||||
File file = new File(Path, filePath);
|
File file = new File(Path, filePath);
|
||||||
if (!file.exists()) {
|
if (!file.exists()) {
|
||||||
@ -58,6 +72,96 @@ public class FileUtils {
|
|||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除文件夹
|
||||||
|
*
|
||||||
|
* @param file
|
||||||
|
*/
|
||||||
|
public void deleteAllFile(File file) {
|
||||||
|
if (!file.exists()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (file.isFile()) {
|
||||||
|
file.delete();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
File[] files = file.listFiles();
|
||||||
|
for (int i = 0; i < files.length; i++) {
|
||||||
|
deleteAllFile(files[i]);
|
||||||
|
}
|
||||||
|
file.delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复制文件夹
|
||||||
|
*
|
||||||
|
* @param file1 文件1
|
||||||
|
* @param file2 文件2
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public void copyAllFile(String file1, String file2) throws Exception {
|
||||||
|
File _file1 = new File(file1);
|
||||||
|
File _file2 = new File(file2);
|
||||||
|
if (!_file2.exists()) {
|
||||||
|
if (!_file1.isDirectory()) {
|
||||||
|
_file2.createNewFile();
|
||||||
|
} else {
|
||||||
|
_file2.mkdirs();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (_file1.isDirectory()) {
|
||||||
|
for (File file : _file1.listFiles()) {
|
||||||
|
if (file.isDirectory()) {
|
||||||
|
file.getName();
|
||||||
|
copyAllFile(file.getAbsolutePath(), file2 + "/" + file.getName());
|
||||||
|
} else {
|
||||||
|
fileChannelCopy(file, new File(file2 + "/" + file.getName()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fileChannelCopy(_file1, _file2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复制文件(通道)
|
||||||
|
*
|
||||||
|
* @param file1 文件1
|
||||||
|
* @param file2 文件2
|
||||||
|
*/
|
||||||
|
public void fileChannelCopy(File file1, File file2) {
|
||||||
|
FileInputStream fileIn = null;
|
||||||
|
FileOutputStream fileOut = null;
|
||||||
|
FileChannel channelIn = null;
|
||||||
|
FileChannel channelOut = null;
|
||||||
|
try {
|
||||||
|
fileIn = new FileInputStream(file1);
|
||||||
|
fileOut = new FileOutputStream(file2);
|
||||||
|
channelIn = fileIn.getChannel();
|
||||||
|
channelOut = fileOut.getChannel();
|
||||||
|
channelIn.transferTo(0, channelIn.size(), channelOut);
|
||||||
|
} catch (Exception e) {
|
||||||
|
//
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
fileIn.close();
|
||||||
|
channelIn.close();
|
||||||
|
fileOut.close();
|
||||||
|
channelOut.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过输入流读取文本
|
||||||
|
*
|
||||||
|
* @param in
|
||||||
|
* @param size
|
||||||
|
* @param encode
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public static String getStringFromInputStream(InputStream in, int size, String encode) {
|
public static String getStringFromInputStream(InputStream in, int size, String encode) {
|
||||||
try {
|
try {
|
||||||
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||||
@ -77,6 +181,14 @@ public class FileUtils {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过文件读取文本
|
||||||
|
*
|
||||||
|
* @param file
|
||||||
|
* @param size
|
||||||
|
* @param encode
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public static String getStringFromFile(File file, int size, String encode) {
|
public static String getStringFromFile(File file, int size, String encode) {
|
||||||
try {
|
try {
|
||||||
FileInputStream fin = new FileInputStream(file);
|
FileInputStream fin = new FileInputStream(file);
|
||||||
@ -100,6 +212,13 @@ public class FileUtils {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过 URL 读取文本
|
||||||
|
*
|
||||||
|
* @param url
|
||||||
|
* @param size
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public static String getStringFromURL(String url, int size) {
|
public static String getStringFromURL(String url, int size) {
|
||||||
try {
|
try {
|
||||||
URLConnection conn = new URL(url).openConnection();
|
URLConnection conn = new URL(url).openConnection();
|
||||||
@ -123,32 +242,12 @@ public class FileUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Write a UTF8 file
|
* 下载文件
|
||||||
*
|
*
|
||||||
* @param strs list of lines
|
* @param urlStr
|
||||||
* @param f file to write
|
* @param filename
|
||||||
*
|
* @param saveDir
|
||||||
*/
|
*/
|
||||||
public FileUtils(List<String> strs, File f) throws IOException
|
|
||||||
{
|
|
||||||
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
|
|
||||||
new FileOutputStream(f), "UTF8"));
|
|
||||||
for(String s : strs) {
|
|
||||||
out.write(s+"\n");
|
|
||||||
}
|
|
||||||
out.flush();
|
|
||||||
out.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
public FileUtils(String str, File f) throws IOException
|
|
||||||
{
|
|
||||||
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
|
|
||||||
new FileOutputStream(f), "UTF8"));
|
|
||||||
out.write(str);
|
|
||||||
out.flush();
|
|
||||||
out.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void download(String urlStr, String filename, File saveDir) {
|
public static void download(String urlStr, String filename, File saveDir) {
|
||||||
try {
|
try {
|
||||||
URL url = new URL(urlStr);
|
URL url = new URL(urlStr);
|
||||||
@ -185,6 +284,12 @@ public class FileUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 读取字节
|
||||||
|
*
|
||||||
|
* @param in
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
private static byte[] read(InputStream in) {
|
private static byte[] read(InputStream in) {
|
||||||
byte[] buffer = new byte[1024];
|
byte[] buffer = new byte[1024];
|
||||||
int len = 0;
|
int len = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user