- 浏览: 92199 次
- 性别:
- 来自: 北京
最新评论
-
xiangzihehao:
非常感谢~
JFreechart V1.0.9 Guide(英文版) -
minn84:
...
一个老程序员的忠告:不要一辈子靠技术生存 -
小斌江:
非常非常非常的感谢楼主。。。
JFreechart V1.0.9 Guide(英文版) -
yutian8888:
谢谢你老兄!我找了很久,在你这里得到的解决!!
Java web 根据url下载文件IE出错,FF正常 -
liuwenbo200285:
学习了,面试的时候经常问这个问题,估计有的面试官也不知道如果不 ...
StringBuilder StringBuffer and "+"
以下是一些我在工作中用到的文件操作方法,记在这里以备后用
这个是查找某路径下所有后缀名为.txt的文件,也可以传String类型的路径,
String path = "/opt/data/sample.txt";
File file = new File(path);
这样也是可以的.
下面这个类是把文件copy的过程:
具体的文件处理内容:
至此,我的就写完了,下面还有一些是我从网上搜集来的一些操作文件的方法,版权归原来所有,所以在此注明:现列出如下:
JAVA文件操作类和文件夹的操作代码实例,包括读取文本文件内容,新建目录,多级目录创建,新建文件,有编码方式的文件创建,删除文件,删除文件夹,删除指定文件夹下所有文件,复制单个文件,复制整个文件夹的内容,移动文件,移动目录等。。。非常不错的哟!
这个是查找某路径下所有后缀名为.txt的文件,也可以传String类型的路径,
String path = "/opt/data/sample.txt";
File file = new File(path);
这样也是可以的.
// // 写一个类打印出文件下所有的文件,递归查找所有txt文件 public static void getAllTXT(File file) { // if(file.isFile()){ String fileName = file.getAbsolutePath(); int len = fileName.length(); if(fileName.substring(len-4, len).equalsIgnoreCase(".TXT")){ //处理后缀名为.TXT的文件,就是把禁止的字给替换掉 FilterTXT(fileName); } } if(file.isDirectory()){ File[] files = file.listFiles(); for(int i= 0;i<files.length;i++){ getAllTXT(files[i]); } } }
下面这个类是把文件copy的过程:
//copy file from oldpath to newPath,first find oldpath isexist or not... public static void copyFile(String oldPath, String newPath) { try { int bytesum = 0; int byteread = 0; File oldfile = new File(oldPath); if (oldfile.exists()) { //文件存在时 InputStream inStream = new FileInputStream(oldPath); //读入原文件 FileOutputStream fs = new FileOutputStream(newPath); byte[] buffer = new byte[1444]; int length; while ( (byteread = inStream.read(buffer)) != -1) { bytesum += byteread; //字节数 文件大小 // System.out.println(bytesum); fs.write(buffer, 0, byteread); } inStream.close(); } } catch (Exception e) { System.out.println("复制单个文件操作出错"); e.printStackTrace(); } }
具体的文件处理内容:
//处理txt文件 public static void FilterTXT(String filepath){ long start=System.currentTimeMillis(); //这里注意,你也可以把这些违禁字词放在一个固定目录下的文件中,然后把文件读入数组中或读入集合中,具体的就看你想怎么操作了. String[] keysmap = new String[]{ "性交","性事","性游戏","性高潮",...... }; try { File file = new File(filepath); new File(file.getParent()+File.separator+"modify").mkdir(); String newName = new File(file.getParent()+File.separator+"modify")+File.separator+file.getName(); File file2 = new File(newName); if(file.exists()){ BufferedReader in = null; BufferedWriter bw = null; in = new BufferedReader(new FileReader(file)); bw = new BufferedWriter(new FileWriter(file2)); String str=""; while((str=in.readLine())!=null){ for(int ii = 0;ii<keysmap.length;ii++){ if(str.contains(keysmap[ii])){ //这里是将上面出现的违禁字词替换为空,或替换为你想要的替换的内容都可以 str = str.replace(keysmap[ii], ""); } } bw.write(str+"\r\n"); bw.flush(); } long end = System.currentTimeMillis(); System.out.println(filepath+"替换完毕,共用时"+(end-start)+"毫秒"); in.close(); bw.close(); copyFile(newName,filepath); new File(newName).delete(); String foldpath=file.getParent()+File.separator+"modify"; new File(foldpath).delete(); }else{ System.out.println(filepath+"文件不存在"); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
至此,我的就写完了,下面还有一些是我从网上搜集来的一些操作文件的方法,版权归原来所有,所以在此注明:现列出如下:
JAVA文件操作类和文件夹的操作代码实例,包括读取文本文件内容,新建目录,多级目录创建,新建文件,有编码方式的文件创建,删除文件,删除文件夹,删除指定文件夹下所有文件,复制单个文件,复制整个文件夹的内容,移动文件,移动目录等。。。非常不错的哟!
package com.gamvan.tools; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.StringTokenizer; public class FileOperate { private String message; public FileOperate() { } /** * 读取文本文件内容 * @param filePathAndName 带有完整绝对路径的文件名 * @param encoding 文本文件打开的编码方式 * @return 返回文本文件的内容 */ public String readTxt(String filePathAndName,String encoding) throws IOException{ encoding = encoding.trim(); StringBuffer str = new StringBuffer(""); String st = ""; try{ FileInputStream fs = new FileInputStream(filePathAndName); InputStreamReader isr; if(encoding.equals("")){ isr = new InputStreamReader(fs); }else{ isr = new InputStreamReader(fs,encoding); } BufferedReader br = new BufferedReader(isr); try{ String data = ""; while((data = br.readLine())!=null){ str.append(data+" "); } }catch(Exception e){ str.append(e.toString()); } st = str.toString(); }catch(IOException es){ st = ""; } return st; } /** * 新建目录 * @param folderPath 目录 * @return 返回目录创建后的路径 */ public String createFolder(String folderPath) { String txt = folderPath; try { java.io.File myFilePath = new java.io.File(txt); txt = folderPath; if (!myFilePath.exists()) { myFilePath.mkdir(); } } catch (Exception e) { message = "创建目录操作出错"; } return txt; } /** * 多级目录创建 * @param folderPath 准备要在本级目录下创建新目录的目录路径 例如 c:myf * @param paths 无限级目录参数,各级目录以单数线区分 例如 a|b|c * @return 返回创建文件后的路径 例如 c:myfac */ public String createFolders(String folderPath, String paths){ String txts = folderPath; try{ String txt; txts = folderPath; StringTokenizer st = new StringTokenizer(paths,"|"); for(int i=0; st.hasMoreTokens(); i++){ txt = st.nextToken().trim(); if(txts.lastIndexOf("/")!=-1){ txts = createFolder(txts+txt); }else{ txts = createFolder(txts+txt+"/"); } } }catch(Exception e){ message = "创建目录操作出错!"; } return txts; } /** * 新建文件 * @param filePathAndName 文本文件完整绝对路径及文件名 * @param fileContent 文本文件内容 * @return */ public void createFile(String filePathAndName, String fileContent) { try { String filePath = filePathAndName; filePath = filePath.toString(); File myFilePath = new File(filePath); if (!myFilePath.exists()) { myFilePath.createNewFile(); } FileWriter resultFile = new FileWriter(myFilePath); PrintWriter myFile = new PrintWriter(resultFile); String strContent = fileContent; myFile.println(strContent); myFile.close(); resultFile.close(); } catch (Exception e) { message = "创建文件操作出错"; } } /** * 有编码方式的文件创建 * @param filePathAndName 文本文件完整绝对路径及文件名 * @param fileContent 文本文件内容 * @param encoding 编码方式 例如 GBK 或者 UTF-8 * @return */ public void createFile(String filePathAndName, String fileContent, String encoding) { try { String filePath = filePathAndName; filePath = filePath.toString(); File myFilePath = new File(filePath); if (!myFilePath.exists()) { myFilePath.createNewFile(); } PrintWriter myFile = new PrintWriter(myFilePath,encoding); String strContent = fileContent; myFile.println(strContent); myFile.close(); } catch (Exception e) { message = "创建文件操作出错"; } } /** * 删除文件 * @param filePathAndName 文本文件完整绝对路径及文件名 * @return Boolean 成功删除返回true遭遇异常返回false */ public boolean delFile(String filePathAndName) { boolean bea = false; try { String filePath = filePathAndName; File myDelFile = new File(filePath); if(myDelFile.exists()){ myDelFile.delete(); bea = true; }else{ bea = false; message = (filePathAndName+" 删除文件操作出错"); } } catch (Exception e) { message = e.toString(); } return bea; } /** * 删除文件夹 * @param folderPath 文件夹完整绝对路径 * @return */ public void delFolder(String folderPath) { try { delAllFile(folderPath); //删除完里面所有内容 String filePath = folderPath; filePath = filePath.toString(); java.io.File myFilePath = new java.io.File(filePath); myFilePath.delete(); //删除空文件夹 } catch (Exception e) { message = ("删除文件夹操作出错"); } } /** * 删除指定文件夹下所有文件 * @param path 文件夹完整绝对路径 * @return * @return */ public boolean delAllFile(String path) { boolean bea = false; File file = new File(path); if (!file.exists()) { return bea; } if (!file.isDirectory()) { return bea; } String[] tempList = file.list(); File temp = null; for (int i = 0; i < tempList.length; i++) { if (path.endsWith(File.separator)) { temp = new File(path + tempList[i]); }else{ temp = new File(path + File.separator + tempList[i]); } if (temp.isFile()) { temp.delete(); } if (temp.isDirectory()) { delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件 delFolder(path+"/"+ tempList[i]);//再删除空文件夹 bea = true; } } return bea; } /** * 复制单个文件 * @param oldPathFile 准备复制的文件源 * @param newPathFile 拷贝到新绝对路径带文件名 * @return */ public void copyFile(String oldPathFile, String newPathFile) { try { int bytesum = 0; int byteread = 0; File oldfile = new File(oldPathFile); if (oldfile.exists()) { //文件存在时 InputStream inStream = new FileInputStream(oldPathFile); //读入原文件 FileOutputStream fs = new FileOutputStream(newPathFile); byte[] buffer = new byte[1444]; while((byteread = inStream.read(buffer)) != -1){ bytesum += byteread; //字节数 文件大小 System.out.println(bytesum); fs.write(buffer, 0, byteread); } inStream.close(); } }catch (Exception e) { message = ("复制单个文件操作出错"); } } /** * 复制整个文件夹的内容 * @param oldPath 准备拷贝的目录 * @param newPath 指定绝对路径的新目录 * @return */ public void copyFolder(String oldPath, String newPath) { try { new File(newPath).mkdirs(); //如果文件夹不存在 则建立新文件夹 File a=new File(oldPath); String[] file=a.list(); File temp=null; for (int i = 0; i < file.length; i++) { if(oldPath.endsWith(File.separator)){ temp=new File(oldPath+file[i]); }else{ temp=new File(oldPath+File.separator+file[i]); } if(temp.isFile()){ FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream(newPath + "/" + (temp.getName()).toString()); byte[] b = new byte[1024 * 5]; int len; while ((len = input.read(b)) != -1) { output.write(b, 0, len); } output.flush(); output.close(); input.close(); } if(temp.isDirectory()){//如果是子文件夹 copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]); } } }catch (Exception e) { message = "复制整个文件夹内容操作出错"; } } /** * 移动文件 * @param oldPath * @param newPath * @return */ public void moveFile(String oldPath, String newPath) { copyFile(oldPath, newPath); delFile(oldPath); } /** * 移动目录 * @param oldPath * @param newPath * @return */ public void moveFolder(String oldPath, String newPath) { copyFolder(oldPath, newPath); delFolder(oldPath); } public String getMessage(){ return this.message; } }
发表评论
-
last year log statistics source code download
2009-07-31 16:48 886只提供两天下载,下周一就失效!! -
学习Apache Mina
2009-05-12 14:50 1748Mina的几个重要接口: I ... -
JFreechart V1.0.9 Guide(英文版)
2008-12-31 09:48 3267本人在0day上发现了JFreechart V1.0.9的Gu ... -
Java web 根据url下载文件IE出错,FF正常
2008-12-26 12:39 1924本人在web开发中,导出csv文件时遇到这一问题的,如下 当用 ... -
日志统计平台3之Jfreechart显示篇
2008-12-19 16:15 1572jfreechart功能十分强大了,在我们平台中用到了柱图和曲 ... -
日志统计平台2
2008-12-19 15:41 1379ImportTask里面我们就实现了ftp下载日志文件,然后批 ... -
日志统计平台
2008-12-19 14:12 1508这是一个商用的项目,是给XX证券用的.其实现的功能是,将各个服 ... -
(随时添加更新)本人code中积累或总结
2008-11-25 09:43 12631 一定要注意资源使用以后要释放,比如数据库的连接,流的使用, ... -
StringBuilder StringBuffer and "+"
2008-10-16 17:20 2074String字符串是Java中最常用的数据结构. " ... -
再用Maven2
2008-09-24 16:35 1604上次用Maven只是别人搭建好的工程,我们使用,今天项目不多, ... -
今天公司培训Scrum有感
2008-09-23 22:24 2614据说Scrum是一种敏捷的灵活的软件管理过程.你可以用它来迭代 ... -
定时执行调度任务
2008-07-21 15:36 2222这里我们用JDK 5.0里的ScheduledExecutor ... -
jdbc 分页
2008-07-20 00:34 3024在网上看了好多的分页程序,有好多hibernate的或是jdb ... -
IntrospectorCleanupListener 简介
2008-05-22 19:12 3482org.springframework.web.util.In ... -
java 读取dbf文件
2008-04-11 13:52 6159先来定义dbf文件的格式,先来定义dbfheader,impo ... -
*.sql的导入与导出
2008-01-24 09:49 985导出:x:\mysql\bin\mysqldump --dat ... -
java程序打开指定的网址
2008-01-24 09:43 16182007-04-19 13:57:42 import j ... -
tomcat5.0.*迁移Tomcat5.5.*的问题:jsp页面显示空白
2008-01-24 09:39 32432007-05-09 12:51:19 本机环境:Win ... -
在Tomcat中添加支持3GP/MP4格式文件的下载
2008-01-24 09:37 13765近日在工作中遇到3gp和mp4格式的文件问题。我用Nokia3 ... -
MySQL常用命令
2008-01-24 09:35 11362007-06-13 20:37:22 1.连接M ...
相关推荐
如果本地或者服务打不开,请下载修复本地安全的文件
打开windows installer操作
上海一网通办是上海市政府推出的一项便民服务,旨在整合各类公共服务资源,提供一站式的在线办理渠道,让市民和企业能够方便快捷地办理各种事务。在这个背景下,“社保插件:FileOperatorWSInstaller.zip”是一个...
`Win32FILE-operator.pdf`可能是一个教程文档,详细介绍了这些操作。下面将对其中的关键知识点进行详解。 首先,`OPENFILENAME`结构体是用于创建文件打开或保存对话框的,它包含了一系列参数,如对话框的拥有者窗口...
混合式存储架构中的H-DICOM File Operator模块是整个架构的核心,它为上层应用提供操作接口,同时屏蔽底层的细节操作。H-DFO模块主要由定位模块、读取模块、写入模块、转换模块和客户模块五部分组成。定位模块用于...
6. SDFO(S-DICOM File Operator)中间件: 为了解决上层PACS(Picture Archiving and Communication System)应用组件与存储层之间的交互,开发了SDFO中间件。SDFO中间件可以为PACS应用提供透明的存储访问接口,...
在Windows编程中,`Win32 FILE`操作涉及到对文件的创建、打开、读取、写入以及关闭等基本操作。这些操作通常通过使用Windows API中的函数来实现,如`CreateFile`、`ReadFile`、`WriteFile`等。在C++中,我们还可以...
#define new new(__FILE__, __LINE__) int main(void) { Base* p = NULL; try { p = new Base; delete p; } catch(...) { } return 0; } ``` 在这个例子中,`Base`结构体的构造函数会抛出异常,导致匹配的`...
- **Category_App_Usage**/**PYD_App_Usage**/**Operator_Usage**:这些子文件夹下存储了不同维度的分析报告,例如按类别划分的应用使用情况、每日活跃用户数(PYD)的应用使用情况以及运营商使用情况等。...
const CBmpFile& operator=(CBmpFile& bmpFile){//作用类似拷贝位图 CreateBmp( bmpFile.m_Cols,bmpFile.m_Rows,bmpFile.m_PxlBytes); //拷贝两部分 memcpy( m_pImgDat,bmpFile.m_pImgDat,m_Cols*m_...
This document reflects the use offsckwith the 4.2BSD and 4.3BSD file system organization. Thisis a revision of the original paper written by T.J.Kow alski. File System Check Program (fsck)...
Flink提供了多种内置Source,如Kafka、Socket、File等。在本项目中,`flinkSourceMysql`标签表明我们关注的是一个自定义的MySQL数据源,用于从MySQL数据库中读取数据。 3. **Flink与MySQL的连接**:要实现Flink从...
### Linux File 命令详解 #### 概述 `file`命令是Linux系统中一个非常实用的工具,主要用于识别文件类型。与Windows系统不同,Linux并不依赖于文件的扩展名来判断其类型,而是根据文件头部的一些特殊标记或者特定...
4. 访问元素:`map::operator[]` 直接通过键访问元素,如果键不存在,则自动插入一个键值对,键对应的部分被默认构造。 5. 遍历:可以使用迭代器遍历整个map,从`begin()`到`end()`。 内存映射文件(Memory-Mapped ...
这是一个简单的插件,可以突出显示每种语言... 这是通过向g:ophigh_filetypes_to_ignore字典添加一个新键来完成的(使用您想要的任何值,只需存在键即可)。 例如: g:ophigh_filetypes_to_ignore.markdown = 1 。 如果
其中,二进制格式被称作“Binary Interchange File Format”,简称BIFF,包含了多个记录(record)和子结构(substructures),用于表示工作表中的数据和格式。 在文档结构方面,.xls文件通常包含一个文档类型...
9. **持续集成/持续部署(CI/CD)**:如果包含相关的CI/CD配置文件(如Jenkinsfile或Dockerfile),可能会介绍如何自动化构建和测试流程。 10. **文档**:可能包含Markdown格式的README文件,解释项目的目的、安装...