java文件操作整理
列出一个文件夹下所有文件名 创建新文件 生成txt文件,写入指定字符串 使用BufferedWriter 使用PrintWriter 按行读文件 重命名 移动文件 依赖 移动文件夹,相当于覆盖 移动文件夹,某个文件夹,移动到另一个文件夹内 移动文件,把文件移动到某个文件夹下 移动到文件夹,自动识别操作文件还是文件夹 列出一个文件夹下所有文件名public void listFileOnDir(String fileDirPath) { File fileDir = new File(fileDirPath); String[] filesOnDir = fileDir.list(); if (filesOnDir != null) { log.info("listFileOnDir, filesOnDir:{}", filesOnDir); for (String filePath : filesOnDir) { try { String fileFullPath = fileDir + "/" + filePath; File singleFile = new File(fileFullPath); log.info("listFileOnDir, singleFile: {}", singleFile); } catch (Exception e) { log.error("listFileOnDir error", e); } } } } 创建新文件public void createFile(String path, String filename) throws IOException { File file=new File(path+"/"+filename); if(!file.exists()) file.createNewFile(); } 生成txt文件,写入指定字符串使用BufferedWriterpublic void writeContentToText(String fileContent, String filePath, String fileName) throws IOException { // 生成的文件路径 String fullPathName = filePath + "/" + fileName; File file = new File(fullPathName); if (!file.exists()) { file.getParentFile().mkdirs(); } file.createNewFile(); // write 解决中文乱码问题 // FileWriter fw = new FileWriter(file, true); OutputStreamWriter fw = new OutputStreamWriter(new FileOutputStream(file), "UTF-8"); BufferedWriter bw = new BufferedWriter(fw); bw.write(fileContent); bw.flush(); bw.close(); fw.close(); } 使用PrintWriterpublic void writeContentToTextOther(String fileContent, String fileFullPath, String fileName) { FileOutputStream fos = null; PrintWriter pw = null; try { File sendFile = new File(fileFullPath); if (!sendFile.exists()) { sendFile.createNewFile();// 创建目标文件 } fos = new FileOutputStream(sendFile); pw = new PrintWriter(fos); pw.write(fileContent.toCharArray()); pw.flush(); fos.close(); } catch (IOException e) { log.error("writer file error", e); } finally { if (pw != null) { pw.close(); } } } 按行读文件public void readFileOnLine(String fullFilePath) { try { File file = new File(fullFilePath); InputStreamReader inputReader = new InputStreamReader(new FileInputStream(file), "utf-8"); BufferedReader bf = new BufferedReader(inputReader); // 按行读取字符串 String lineContent; while ((lineContent = bf.readLine()) != null) { // TODO:按行解析读取的文件,测试是不是不同编码的文件都能解析 log.info("readFileOnLine, lineContent:{}", lineContent); } bf.close(); inputReader.close(); } catch (IOException e) { e.printStackTrace(); } }
InputStream读取出文件是字节流,InputStreamReader可以将字节流转换为字符流
new InputStreamReader时可指定编码: File file = new File(fullFilePath); InputStreamReader inputReader = new InputStreamReader(new FileInputStream(file), "utf-8"); 重命名public void renameFile(String oldFullFilePath, String newFullFilePath) { File startFile = new File(oldFullFilePath); File endFile = new File(newFullFilePath); if (startFile.renameTo(endFile)) { log.info("文件移动成功!目标路径: {}", endFile.getAbsolutePath()); } else { log.info("文件移动失败!起始路径: {}", startFile.getAbsolutePath()); } } 移动文件
移动文件一系列操作主要用 org.apache.commons.io下的包 依赖 org.apache.commons commons-lang3 3.7 public void moveFile(File singleFile, String changeDir, String filePathOnDir) { String newGenFilePath = changeDir + "/" + filePathOnDir; File backedGeneratedCardFile = new File(newGenFilePath); try { FileUtils.moveFile(singleFile, backedGeneratedCardFile); } catch (Exception e) { log.error("moveFile error", e); } } 移动文件夹,相当于覆盖public void moveDirectory(String oldDirPath, String newDirPath) { File oldDir = new File(oldDirPath); File newDir = new File(newDirPath); try { FileUtils.moveDirectory(oldDir, newDir); } catch (Exception e) { log.error("moveDirectory error", e); } } 移动文件夹,某个文件夹,移动到另一个文件夹内public void moveDirToDirectory(String oldDirPath, String newDirPath) { File oldDir = new File(oldDirPath); File newDir = new File(newDirPath); try { FileUtils.moveDirectoryToDirectory(oldDir, newDir, true); } catch (Exception e) { log.error("moveDirToDirectory error", e); } } 移动文件,把文件移动到某个文件夹下public void moveFileToDirectory(String srcFilePath, String newDirPath) { File oldFile = new File(srcFilePath); File newDir = new File(newDirPath); try { FileUtils.moveFileToDirectory(oldFile, newDir, true); } catch (Exception e) { log.error("moveFileToDirectory error", e); } } 移动到文件夹,自动识别操作文件还是文件夹public void moveToDirectory(String srcPath, String newDirPath) { File srcInfo = new File(srcPath); File newDir = new File(newDirPath); try { FileUtils.moveToDirectory(srcInfo, newDir, true); } catch (Exception e) { log.error("moveFileToDirectory error", e); } }
特斯拉诉讼消费者的背后或是想恶意丑化中国2019年6月,韩潮通过特斯拉官方认证二手购买了一辆特斯拉ModelS车型。后韩潮委托了机动车司法鉴定机构对车辆进行检测,鉴定为事故车。韩潮以特斯拉销售事故二手车,存在销售欺诈为由
腾讯证实制片人张萌涉案,已移交司法机关每经记者毕媛媛每经编辑董兴生近日,一份腾讯视频制片人张萌被抓的消息在网络上不胫而走。甚至有消息称,腾讯视频业务管理层牵涉到了由郑爽主演的遗留剧倩女幽魂(现已改名只问今生恋沧溟)。1
美国要偷芯最近的美国要求台积电三星和SK海力士等芯片厂商交出数据,包含库存量,订单等等关键信息美其名曰为解决芯片严重缺货的问题,需要厂商交出信息共同研究解决为什么美国可以对各大芯片厂商进行限
币圈那些事美国运通CEO将加密货币视为黄金正密切关注CBDC发展金色财经报道,美国运通首席执行官StephenSqueri表示,他将加密货币视为一种类似黄金的资产类别。Squeri不认为加密
怎样糟心的经历让你彻底放弃某个品牌的手机?去年给老婆买了一部红米K30,本来用起来感觉还挺好的,但是这部手机在不该坏的两个时间点坏了,导致我对红米手机有了阴影,本来今年双十一准备给自己买一部K40,结果果断放弃了。第一次坏
三体是否被有些人过度吹捧,而对其他科幻作品评价低于原本的高度?对于任何一部小说来说,吹捧是能起到提高小说知名度的。而真正好的小说,则是被更多的观众和粉丝喜爱,从而不断提高知名度的。三体就是这样一部小说。首先,我们来分析一下三体为什么会让这么读
荣耀V50日期定档,全系骁龙898100W快充,硬核实力加强现在的荣耀手机品牌确实是意气风发,也许是因为独立之后自由度更高,所以荣耀把做手机的潜力这些全部释放出来,确实有发展成大品牌的迹象。今年荣耀的手机全面复苏,比较明显的就是恢复了Mag
2021之江杯AI大赛创业赛北京站举办10月22日,2021之江杯全球人工智能大赛创业赛北京分站赛举行,共有9支参赛团队进行了项目路演,最终AI赋能脑控智能康复轮椅商用优化求解器COPT爻宇宙3个项目成功晋级决赛。AI
西门子冰箱和海尔冰箱哪个好?感觉这个问题,指向性有点强普通人买东西,买的是性价比,这种功能性家电,主要就是实用性要强。这两个牌子,显然就局限了。大冰箱有大冰箱的好处,就是容量大,对于家庭成员比较多,成员不是每
SanagX6P蓝牙音箱测评有个性有玩法,却美得不像音箱作为一枚音乐爱好者,我就偏爱用音箱听歌,这种听歌方式更加的放荡不羁爱自由,更能享受音乐的那种奔放魅力,也能够与家人朋友齐分享,重要的是也不会耽误自己去做手头上其他的事,不影响与人沟
linux之同时监控多个日志文件变化MultiTail是一个开源的ncurses的实用工具,可用于在一个窗口或单一外壳,显示实时一样的尾巴命令,该命令拆分控制台为更多子窗口的日志文件的最后几行(很像显示多个日志文件到
手机视频拍摄需要注意什么?本人也常用手机拍视频,我来和大家交流一下手机拍视频的问题。问题综合为以下1一部可以拍1280720及以上视频的手机,现在网络上发布视频有具体大小要求,一般来说,我们得用手机最大像素
台式机配置应该怎么选?看你是怎么用,比如画图设计,游戏机,商务机,家庭,用途不一样配置不一样,画图设计和游戏机CPU,显卡,内存越高越好。其他用一般配置就OK。CPU锐龙R53600主板微星B450MM
我的松下LX7对比当下拍照手机还有优势吗?我的是松下zs7,2011年买的,当时lx系列定位比zs系列还要高一级,lx系列底大,镜头光圈大,Zs系列光学变焦倍数大,两个系列都是莱卡认证镜头(这个噱头现在依旧有厂商在用,无语
为什么华为海思不给其他手机厂家使用麒麟芯片呢?是华为不给还是人家不要?估计是也想给,也想要,可是产能不足,自己都不够用!以后海思实力规模再强大些,逐步接近超过高通的出货量,华为自用率足够高,可以开放给其它品牌手机!但涉嫌不正当
为什么无线音箱不用WiFi技术?主流的wifi智能音箱1,小米小爱音箱小爱同学AI智能机器人音响蓝牙闹钟控扫地机2,官方新品HUAWEI华为AI音箱2一碰传音蓝牙移动音箱无电池版3,天猫精灵CC电池版带屏智能音箱
如果苹果公司不顾品牌价值把手机降价到2000到3000。对国产品牌有什么影响?感谢邀请,如果iPhone7最贵的版本也就卖3000块,你会买吗?我想很多人遇到这样的情况,一定是毫不犹豫的买买买,这其实说明了一个问题,iPhone的售价太贵了。以iPhone7
既然手机和平板电脑也能阅读电子书,那Kindle的优势在哪里?看了下面的回答,说的都在点子上。作为一个从手机到平板再到kindle全系列都有的伪极客,我来给大家说说原因,必须与众不同才有可以说的必要。在说与众不同的原因之前,我要肯定的一点是续
想装个电脑主机用在3D建模这类的软件需要什么样的配置谢谢了?你好,如果仅仅是3d建模的话,只需在配置上侧重处理器和内存即可。1。处理器建议用i510400,这款处理器是英特尔最新的10代处理器,6核12线程,比如在常规600W面左右的室内模
要工作了,准备换手机和笔记本电脑,求帮忙选择?你好,目前还不清楚你的工作属于哪一类,电脑分有款式,商务便携,或者视频制作高性能的。如果需要携带方便。华为值得选择,华为电脑指纹解锁,安全性更高,轻薄方便携带,跟手机的厚度差不多,
如今有哪些科学无法解释的超能力?什么是超能力?那就是普通人无法做到的事情。并且在我们科学认知领域是无法解释的。我们所了解的可就无法解释的现象第1点是隐身术。隐身术我们是经常带,古代的电视剧科幻,电视电影里面看到,
洗碗机我是选西门子还是方太美的这些国产品牌呢?通过您的描述,我建议您选择美的。主要有以下几个原因6套的太小了,没办法锅碗一起洗,而且因为比较小你就必须规规矩矩摆好才能放完碗盘,规矩摆放会很耗费时间,有那时间可能都手洗完了。8套