根据客户名-项目名-附件 这种形式创建文件夹存立面 进行判断有同名的文件后面+1 2 ...
1条回答 默认 最新
- 猫猫爱吃鱼 2022-01-20 12:14关注
import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.LinkedHashMap; import java.util.Map; public class Main01 { private static final String DRIVER = "com.mysql.jdbc.Driver"; private static final String URL = "jdbc:mysql://<MySQL服务器ip地址>/<数据库名>"; private static final String USER = "<用户名>"; private static final String PASS = "<用户密码>"; private static final String QUERY_SQL = "select * from company"; private static final File BASE_DIR = new File("<你要保存的目录路径>"); public static void main(String[] args) throws Exception { // TODO Auto-generated method stub Class.forName(DRIVER); Connection conn = DriverManager.getConnection(URL, USER, PASS); Map<String, Integer> fileNameMap = new LinkedHashMap<String, Integer>(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(QUERY_SQL); String orgFileName = null; String fileName = null; int idx = 0; File file = null; InputStream is = null; OutputStream os = null; final int bufferSize = 1024; byte[] buffer = new byte[bufferSize]; int readCount = 0; while (rs.next()) { orgFileName = rs.getString("file_name"); fileName = String.format("%s-%s-%s", rs.getString("COMPANY_NAME"), rs.getString("branch_name"), orgFileName); if (!fileNameMap.containsKey(fileName)) { fileNameMap.put(fileName, 0); } else { idx = fileNameMap.get(fileName) + 1; fileNameMap.put(fileName, idx); } idx = fileNameMap.get(fileName); if (idx > 0) { int index = fileName.lastIndexOf("."); String ext = fileName.substring(index + 1); fileName = String.format("%s(%d).%s", fileName.substring(0, index), idx, ext); } file = new File(BASE_DIR, fileName); is = rs.getBinaryStream("doc_binary"); os = new FileOutputStream(file); while ((readCount = is.read(buffer, 0, bufferSize)) > 0) { os.write(buffer, 0, readCount); os.flush(); } os.close(); is.close(); } rs.close(); stmt.close(); conn.close(); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 自适应 AR 模型 参数估计Matlab程序
- ¥100 角动量包络面如何用MATLAB绘制
- ¥15 merge函数占用内存过大
- ¥15 Revit2020下载问题
- ¥15 使用EMD去噪处理RML2016数据集时候的原理
- ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
- ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
- ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
- ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
- ¥15 如何在炒股软件中,爬到我想看的日k线