给我用java写一个文件导出工具类
时间: 2023-03-25 19:04:27 浏览: 68
好的,我可以回答这个问题。以下是一个简单的 Java 文件导出工具类的示例代码:
```java
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
public class FileExportUtil {
public static void exportToFile(List<String> data, String filePath) throws IOException {
File file = new File(filePath);
FileWriter writer = new FileWriter(file);
for (String line : data) {
writer.write(line + "\n");
}
writer.close();
}
}
```
这个工具类可以将一个字符串列表写入到指定的文件中。你可以将需要导出的数据存储在一个字符串列表中,然后调用 `exportToFile` 方法将数据写入到文件中。
相关问题
用JAVA写一个EXCEL导入导出的工具类
好的,以下是一个简单的Java Excel导入导出的工具类示例:
```
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelUtils {
private static final String FILE_NAME = "example.xlsx"; // 文件名
public static List<List<String>> readExcel() throws IOException {
List<List<String>> result = new ArrayList<>();
FileInputStream inputStream = new FileInputStream(FILE_NAME);
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheetAt(0);
DataFormatter dataFormatter = new DataFormatter();
for (Row row : sheet) {
List<String> rowData = new ArrayList<>();
for (Cell cell : row) {
rowData.add(dataFormatter.formatCellValue(cell));
}
result.add(rowData);
}
workbook.close();
inputStream.close();
return result;
}
public static void writeExcel(List<List<String>> data) throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet();
int rowNum = 0;
for (List<String> rowData : data) {
Row row = sheet.createRow(rowNum++);
int colNum = 0;
for (String cellData : rowData) {
Cell cell = row.createCell(colNum++);
cell.setCellValue(cellData);
}
}
FileOutputStream outputStream = new FileOutputStream(FILE_NAME);
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
}
```
使用示例:
```
public static void main(String[] args) throws IOException {
List<List<String>> data = new ArrayList<>();
List<String> rowData1 = new ArrayList<>();
rowData1.add("姓名");
rowData1.add("年龄");
rowData1.add("地址");
data.add(rowData1);
List<String> rowData2 = new ArrayList<>();
rowData2.add("张三");
rowData2.add("18");
rowData2.add("北京市");
data.add(rowData2);
List<String> rowData3 = new ArrayList<>();
rowData3.add("李四");
rowData3.add("20");
rowData3.add("上海市");
data.add(rowData3);
ExcelUtils.writeExcel(data);
List<List<String>> result = ExcelUtils.readExcel();
for (List<String> rowData : result) {
System.out.println(rowData);
}
}
```
这个工具类使用了 Apache POI 库,可以实现 Excel 文件的读写操作。其中 `readExcel()` 方法可以读取 Excel 文件的内容并返回一个二维数组,`writeExcel()` 方法可以将一个二维数组写入到 Excel 文件中。你可以根据自己的需要进行修改。
写一个java导出压缩包的工具类
以下是一个Java导出压缩包的工具类的示例:
```java
import java.io.*;
import java.util.zip.*;
public class ZipUtil {
public static void zip(String sourceDir, String zipFilePath) throws IOException {
FileOutputStream fos = new FileOutputStream(zipFilePath);
ZipOutputStream zos = new ZipOutputStream(fos);
zipFiles(sourceDir, "", zos);
zos.close();
fos.close();
}
private static void zipFiles(String sourceDir, String parentDir, ZipOutputStream zos) throws IOException {
File sourceFile = new File(sourceDir);
if (sourceFile.isDirectory()) {
String dirName = parentDir + sourceFile.getName() + "/";
zos.putNextEntry(new ZipEntry(dirName));
for (String fileName : sourceFile.list()) {
zipFiles(sourceDir + "/" + fileName, dirName, zos);
}
} else {
FileInputStream fis = new FileInputStream(sourceDir);
ZipEntry zipEntry = new ZipEntry(parentDir + sourceFile.getName());
zos.putNextEntry(zipEntry);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
zos.write(buffer, 0, length);
}
fis.close();
}
}
}
```
这个工具类中的`zip`方法将指定的文件夹压缩成一个ZIP文件,并将其保存到指定的文件路径。`zipFiles`方法用来递归地压缩文件夹中的所有文件和子文件夹。压缩过程中,对于每个文件和文件夹,都会生成一个对应的ZipEntry对象,并添加到ZipOutputStream中。最后,需要记得关闭ZipOutputStream和FileOutputStream。