public class FileType {
public static final String XML_FILE = "text/xml;charset=UTF-8";
public static final String PDF_FILE = "application/pdf";
public static final String PDG_FILE = "application/x-png";
public static final String JPG_FILE = "application/x-jpg";
public static final String WORD_FILE = "application/msword";
public static final String EXCEL_FILE = "application/x-xls";
public static final String XLS = "xls";
public static final String XLSX = "xlsx";
public static final String DOC = "doc";
public static final String TXT = "txt";
public static final String XML = "xml";
public static final String PNG = "png";
public static final String JPG = "jpg";
public static final String PDF = "pdf";
}
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.zip.DataFormatException;
import java.util.zip.Deflater;
import java.util.zip.Inflater;
public class FileUtils {
public static void closeBufferedReader(BufferedReader bufferedReader) {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static boolean isExistFile(String filePath) {
File file = new File(filePath);
if (!file.exists()) {
return false;
}
return true;
}
public static String readFile(String filePath) {
File file = new File(filePath);
if (!file.exists()) {
return null;
}
StringBuffer stringBuffer = null;
BufferedReader bufferedReader = null;
try {
bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8));
stringBuffer = new StringBuffer();
String line = null;
while ((line = bufferedReader.readLine()) != null) {
if ("\r".equals(line)) {
continue;
}
stringBuffer.append(line).append("\n");
}
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
closeBufferedReader(bufferedReader);
}
return stringBuffer.toString();
}
public static byte[] readFileByByte(String filePath) {
File file = new File(filePath);
if (!file.exists()) {
return null;
}
byte[] bytes = null;
try {
bytes = Files.readAllBytes(file.toPath());
} catch (IOException e) {
e.printStackTrace();
return null;
}
return bytes;
}
public static String getFileName(String filePath) {
String[] splits = filePath.split("\\\\");
return splits[splits.length - 1];
}
public static String getFileTypeByName(String fileName) {
String[] splits = fileName.split("\\.");
return splits[splits.length - 1];
}
public static String getFileTypeByPath(String filePath) {
return getFileTypeByName(getFileName(filePath));
}
public static byte[] compress(byte input[]) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
Deflater compressor = new Deflater(1);
try {
compressor.setInput(input);
compressor.finish();
final byte[] buf = new byte[2048];
while (!compressor.finished()) {
int count = compressor.deflate(buf);
bos.write(buf, 0, count);
}
} finally {
compressor.end();
}
return bos.toByteArray();
}
public static byte[] uncompress(byte[] input) throws DataFormatException {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
Inflater decompressor = new Inflater();
try {
decompressor.setInput(input);
final byte[] buf = new byte[2048];
while (!decompressor.finished()) {
int count = decompressor.inflate(buf);
bos.write(buf, 0, count);
}
} finally {
decompressor.end();
}
return bos.toByteArray();
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)