用Java进行文件操作时,报出“at java.io.FileOutputStream.<init>(Unknown Source)”错误

我用Java编写文件管理器时,要写一个文件复制的函数,结果遇到“

C:\Users\Administrator\eclipse-workspace\project1\bin\Folderdir3\dir2\FileDemo.java (系统找不到指定的路径。)

at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)

at java.io.FileOutputStream.<init>(Unknown Source)”这个问题,部分函数代码是这样的:


但是,后来找到错误了。错误就在进行for循环时,递归调用copy函数时,传进函数的第二个参数(即目的文件)并没有真正地创建出来,只是实例化了一个File类型的对象而已。所以,需要在for循环的上方,添加if(!desf.exists()) desf.mkdir(); 语句创建处目的文件。最终运行出来的效果是:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用Apache POI库来创建多行表头。以下是一个示例代码: ``` import org.apache.poi.ss.usermodel.*; import java.io.FileOutputStream; import java.io.IOException; public class ExcelTableHeader { public static void main(String[] args) throws IOException { // 创建工作簿 Workbook workbook = WorkbookFactory.create(true); // 创建工作表 Sheet sheet = workbook.createSheet("Sheet1"); // 创建样式 CellStyle cellStyle = workbook.createCellStyle(); cellStyle.setAlignment(HorizontalAlignment.CENTER); cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); cellStyle.setBorderBottom(BorderStyle.THIN); cellStyle.setBorderTop(BorderStyle.THIN); cellStyle.setBorderLeft(BorderStyle.THIN); cellStyle.setBorderRight(BorderStyle.THIN); // 创建表头 Row row1 = sheet.createRow(0); Cell cell11 = row1.createCell(0); cell11.setCellValue("Header 1"); cell11.setCellStyle(cellStyle); Cell cell12 = row1.createCell(1); cell12.setCellValue("Header 2"); cell12.setCellStyle(cellStyle); Cell cell13 = row1.createCell(2); cell13.setCellValue("Header 3"); cell13.setCellStyle(cellStyle); Row row2 = sheet.createRow(1); Cell cell21 = row2.createCell(0); cell21.setCellValue("Sub Header 1"); cell21.setCellStyle(cellStyle); Cell cell22 = row2.createCell(1); cell22.setCellValue("Sub Header 2"); cell22.setCellStyle(cellStyle); Cell cell23 = row2.createCell(2); cell23.setCellValue("Sub Header 3"); cell23.setCellStyle(cellStyle); // 自适应列宽 for (int i = 0; i < 3; i++) { sheet.autoSizeColumn(i); } // 写入文件 FileOutputStream outputStream = new FileOutputStream("table_header.xlsx"); workbook.write(outputStream); workbook.close(); } } ``` 在上面的示例中,我们创建了一个包含两行表头的工作表,使用居中对齐、灰色填充和细线边框样式。 你可以根据需要更改样式和表头行数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值