- 浏览: 29181 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
aoaosheng:
兄弟,你真NB,前台那个姐们都敢下手!
祝福你~
年记2011 -
jiaofei3385140:
好贴,顶一个
JAVA各种排序例子 -
hewei816:
又是百思维,又是jbcus,又是余鹏,又是关务,又是阿亮,水生 ...
年记2010 -
lkjxshi:
hewei816 写道不错哦,知道俺是谁吧霸气侧漏了的这位兄弟 ...
年记2010 -
hewei816:
不错哦,知道俺是谁吧
年记2010
1.创建文件夹
2.创建文件
3.删除文件
4.删除文件夹
5.删除一个文件下夹所有的文件夹
6.清空文件夹
7.读取文件
// 逐行读取数据
8.写入文件
// 将数据写入文件
9.写入随机文件
10.读取文件属性
11.写入属性
12.枚举一个文件夹中的所有文件夹
13.复制文件夹
14.复制一个文件夹下所有的文件夹到另一个文件夹下
15.移动文件夹
16.移动一个文件夹下所有的文件夹到另一个目录下
17.以一个文件夹的框架在另一个目录创建文件夹和空文件
18.复制文件
19.复制一个文件夹下所有的文件到另一个目录
20.提取扩展名
21.提取文件名
22.提取文件路径
23.替换扩展名
24.追加路径
25.移动文件
26.移动一个文件夹下所有文件到另一个目录
27.指定目录下搜索文件
28.打开对话框
29.文件分割
30.文件合并
31.文件简单加密
32.文件简单解密
33.文件简单解密
34.读取ini文件属性
35.合并一个文件下所有的文件
36.写入ini文件属性
37.获得当前路径
38.读取XML数据库
39.写入XML数据库
40.ZIP压缩文件
41.ZIP解压缩
42.递归删除目录中的文件
43.ZIP压缩文件夹
44.Java验证DTD
45.验证Schema
46.Grep
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hias_asia/archive/2009/04/16/4084403.aspx
File myFolderPath = new File(%%1); try { if (!myFolderPath.exists()) { myFolderPath.mkdir(); } } catch (Exception e) { System.out.println("新建目录操作出错"); e.printStackTrace(); }
2.创建文件
File myFilePath = new File(%%1); try { if (!myFilePath.exists()) { myFilePath.createNewFile(); } FileWriter resultFile = new FileWriter(myFilePath); PrintWriter myFile = new PrintWriter(resultFile); myFile.println(%%2); resultFile.close(); } catch (Exception e) { System.out.println("新建文件操作出错"); e.printStackTrace(); }
3.删除文件
File myDelFile = new File(%%1); try { myDelFile.delete(); } catch (Exception e) { System.out.println("删除文件操作出错"); e.printStackTrace(); }
4.删除文件夹
File delFolderPath = new File(%%1); try { delFolderPath.delete(); //删除空文件夹 } catch (Exception e) { System.out.println("删除文件夹操作出错"); e.printStackTrace(); }
5.删除一个文件下夹所有的文件夹
File delfile=new File(%%1); File[] files=delfile.listFiles(); for(int i=0;i<files.length;i++){ if(files[i].isDirectory()){ files[i].delete(); } }
6.清空文件夹
File delfilefolder=new File(%%1); try { if (!delfilefolder.exists()) { delfilefolder.delete(); } delfilefolder.mkdir(); } catch (Exception e) { System.out.println("清空目录操作出错"); e.printStackTrace(); }
7.读取文件
// 逐行读取数据
FileReader fr = new FileReader(%%1); BufferedReader br = new BufferedReader(fr); String %%2 = br.readLine(); while (%%2 != null) { %%3 %%2 = br.readLine(); } br.close(); fr.close();
8.写入文件
// 将数据写入文件
FileWriter fw = new FileWriter(%%1); fw.write(%%2); fw.close();
9.写入随机文件
try { RandomAcessFile logFile=new RandomAcessFile(%%1,"rw"); long lg=logFile.length(); logFile.seek(%%2); logFile.writeByte(%%3); }catch(IOException ioe){ System.out.println("无法写入文件:"+ioe.getMessage()); }
10.读取文件属性
// 文件属性的取得 File af = new File(%%1); if (af.exists()) { System.out.println(f.getName() + "的属性如下: 文件长度为:" + f.length()); System.out.println(f.isFile() ? "是文件" : "不是文件"); System.out.println(f.isDirectory() ? "是目录" : "不是目录"); System.out.println(f.canRead() ? "可读取" : "不"); System.out.println(f.canWrite() ? "是隐藏文件" : ""); System.out.println("文件夹的最后修改日期为:" + new Date(f.lastModified())); } else { System.out.println(f.getName() + "的属性如下:"); System.out.println(f.isFile() ? "是文件" : "不是文件"); System.out.println(f.isDirectory() ? "是目录" : "不是目录"); System.out.println(f.canRead() ? "可读取" : "不"); System.out.println(f.canWrite() ? "是隐藏文件" : ""); System.out.println("文件的最后修改日期为:" + new Date(f.lastModified())); } if(f.canRead()){ %%2 } if(f.canWrite()){ %%3 }
11.写入属性
File filereadonly=new File(%%1); try { boolean b=filereadonly.setReadOnly(); } catch (Exception e) { System.out.println("拒绝写访问:"+e.printStackTrace()); }
12.枚举一个文件夹中的所有文件夹
//import java.io.*; //import java.util.*; ArrayList<String> folderList = new ArrayList<String>(); folderList.add(%%1); for (int j = 0; j < folderList.size(); j++) { File file = new File(folderList.get(j)); File[] files = file.listFiles(); ArrayList<File> fileList = new ArrayList<File>(); for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { folderList.add(files[i].getPath()); } else { fileList.add(files[i]); } } for (File f : fileList) { %%2=f.toString(); %%3 } }
13.复制文件夹
//import java.io.*; //import java.util.*; ArrayList<String>folderList=new ArrayList<String>(); folderList.add(%%1); ArrayList<String>folderList2=new ArrayList<String>(); folderList2.add(%%2); for(int j=0;j<folderList.length;j++){ (new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹 File folders=new File(folderList[j]); String[] file=folders.list(); File temp=null; try { for (int i = 0; i < file.length; i++) { if(folderList[j].endsWith(File.separator)){ temp=new File(folderList[j]+"/"+file[i]); } else{ temp=new File(folderList[j]+"/"+File.separator+file[i]); } FileInputStream input = new FileInputStream(temp); if(temp.isFile()){ FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream(folderList2[j] + "/" + (temp.getName()).toString()); byte[] b = new byte[5120]; int len; while ( (len = input.read(b)) != -1) { output.write(b, 0, len); } output.flush(); output.close(); input.close(); } if(temp.isDirectory()){//如果是子文件夹 folderList.add(folderList[j]+"/"+file[i]); folderList2.add(folderList2[j]+"/"+file[i]); } } } catch (Exception e) { System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace(); } }
14.复制一个文件夹下所有的文件夹到另一个文件夹下
File copyfolders=new File(%%1); File[] copyfoldersList=copyfolders.listFiles(); for(int k=0;k<copyfoldersList.length;k++){ if(copyfoldersList[k].isDirectory()){ ArrayList<String>folderList=new ArrayList<String>(); folderList.add(copyfoldersList[k].getPath()); ArrayList<String>folderList2=new ArrayList<String>(); folderList2.add(%%2+"/"+copyfoldersList[k].getName()); for(int j=0;j<folderList.length;j++){ (new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹 File folders=new File(folderList[j]); String[] file=folders.list(); File temp=null; try { for (int i = 0; i < file.length; i++) { if(folderList[j].endsWith(File.separator)){ temp=new File(folderList[j]+"/"+file[i]); } else{ temp=new File(folderList[j]+"/"+File.separator+file[i]); } FileInputStream input = new FileInputStream(temp); if(temp.isFile()){ FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream(folderList2[j] + "/" + (temp.getName()).toString()); byte[] b = new byte[5120]; int len; while ( (len = input.read(b)) != -1) { output.write(b, 0, len); } output.flush(); output.close(); input.close(); } if(temp.isDirectory()){//如果是子文件夹 folderList.add(folderList[j]+"/"+file[i]); folderList2.add(folderList2[j]+"/"+file[i]); } } } catch (Exception e) { System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace(); } } } }
15.移动文件夹
ArrayList<String>folderList=new ArrayList<String>(); folderList.add(%%1); ArrayList<String>folderList2=new ArrayList<String>(); folderList2.add(%%2); for(int j=0;j<folderList.length;j++){ (new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹 File folders=new File(folderList[j]); String[] file=folders.list(); File temp=null; try { for (int i = 0; i < file.length; i++) { if(folderList[j].endsWith(File.separator)){ temp=new File(folderList[j]+"/"+file[i]); } else{ temp=new File(folderList[j]+"/"+File.separator+file[i]); } FileInputStream input = new FileInputStream(temp); if(temp.isFile()){ FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream(folderList2[j] + "/" + (temp.getName()).toString()); byte[] b = new byte[5120]; int len; while ( (len = input.read(b)) != -1) { output.write(b, 0, len); } output.flush(); output.close(); input.close(); } if(temp.isDirectory()){//如果是子文件夹 folderList.add(folderList[j]+"/"+file[i]); folderList2.add(folderList2[j]+"/"+file[i]); } } } catch (Exception e) { System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace(); } } File movefile=new File(%%1); File[] movefiles=movefile.listFiles(); for(int i=0;i<files.length;i++){ if(files[i].isDirectory()){ files[i].delete(); } } movefile.delete();
16.移动一个文件夹下所有的文件夹到另一个目录下
File movefolders=new File(%%1); File[] movefoldersList=movefolders.listFiles(); for(int k=0;k<movefoldersList.length;k++){ if(movefoldersList[k].isDirectory()){ ArrayList<String>folderList=new ArrayList<String>(); folderList.add(movefoldersList[k].getPath()); ArrayList<String>folderList2=new ArrayList<String>(); folderList2.add(%%2+"/"+movefoldersList[k].getName()); for(int j=0;j<folderList.length;j++){ (new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹 File folders=new File(folderList[j]); String[] file=folders.list(); File temp=null; try { for (int i = 0; i < file.length; i++) { if(folderList[j].endsWith(File.separator)){ temp=new File(folderList[j]+"/"+file[i]); } else{ temp=new File(folderList[j]+"/"+File.separator+file[i]); } FileInputStream input = new FileInputStream(temp); if(temp.isFile()){ FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream(folderList2[j] + "/" + (temp.getName()).toString()); byte[] b = new byte[5120]; int len; while ( (len = input.read(b)) != -1) { output.write(b, 0, len); } output.flush(); output.close(); input.close(); temp.delete(); } if(temp.isDirectory()){//如果是子文件夹 folderList.add(folderList[j]+"/"+file[i]); folderList2.add(folderList2[j]+"/"+file[i]); } } } catch (Exception e) { System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace(); } } movefoldersList[k].delete(); } }
17.以一个文件夹的框架在另一个目录创建文件夹和空文件
ArrayList<String>folderList=new ArrayList<String>(); folderList.add(%%1); ArrayList<String>folderList2=new ArrayList<String>(); folderList2.add(%%2); for(int j=0;j<folderList.length;j++){ (new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹 File folders=new File(folderList[j]); String[] file=folders.list(); File temp=null; try { for (int i = 0; i < file.length; i++) { if(folderList[j].endsWith(File.separator)){ temp=new File(folderList[j]+"/"+file[i]); } else{ temp=new File(folderList[j]+"/"+File.separator+file[i]); } FileInputStream input = new FileInputStream(temp); if(temp.isFile()){ if (!temp.exists()) { temp.createNewFile(); } } if(temp.isDirectory()){//如果是子文件夹 folderList.add(folderList[j]+"/"+file[i]); folderList2.add(folderList2[j]+"/"+file[i]); } } } catch (Exception e) { System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace(); } }
18.复制文件
int bytesum = 0; int byteread = 0; File oldfile = new File(%%1); try { if (oldfile.exists()) { //文件存在时 InputStream inStream = new FileInputStream(oldfile); //读入原文件 FileOutputStream fs = new FileOutputStream(new File(%%2,oldfile.getName())); byte[] buffer = new byte[5120]; 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(); }
19.复制一个文件夹下所有的文件到另一个目录
File copyfiles=new File(%%1); File[] files=copyfiles.listFiles(); for(int i=0;i<files.length;i++){ if(!files[i].isDirectory()){ int bytesum = 0; int byteread = 0; try { InputStream inStream = new FileInputStream(files[i]); //读入原文件 FileOutputStream fs = new FileOutputStream(new File(%%2,files[i].getName()); byte[] buffer = new byte[5120]; 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(); } } }
20.提取扩展名
String %%2=(new File(%%1)).getName().split(".")[1];
21.提取文件名
String %%2=(new File(%%1)).getName().split("//")[1];
22.提取文件路径
String %%2=(new File(%%1)).getPath();
23.替换扩展名
File replaceExt=new File(%%1); replaceExt.renameTo(replaceExt.getName().split(".")[0]+"."+%%2);
24.追加路径
%%3=%%2+"/"+%%1
25.移动文件
int bytesum = 0; int byteread = 0; File oldfile = new File(%%1); try { if (oldfile.exists()) { //文件存在时 InputStream inStream = new FileInputStream(oldfile); //读入原文件 FileOutputStream fs = new FileOutputStream(new File(%%2,oldfile.getName())); byte[] buffer = new byte[5120]; int length; while ( (byteread = inStream.read(buffer)) != -1) { bytesum += byteread; //字节数 文件大小 //System.out.println(bytesum); fs.write(buffer, 0, byteread); } inStream.close(); oldfile.delete(); } } catch (Exception e) { System.out.println("复制单个文件操作出错"); e.printStackTrace(); }
26.移动一个文件夹下所有文件到另一个目录
File movefile=new File(%%1); File[] movefiles=movefile.listFiles(); for(int i=0;i<movefiles.length;i++){ if(movefiles[i].isFile()){ int bytesum = 0; int byteread = 0; File oldfile = new File(movefiles[i]); try { if (oldfile.exists()) { //文件存在时 InputStream inStream = new FileInputStream(oldfile); //读入原文件 FileOutputStream fs = new FileOutputStream(new File(%%2,oldfile.getName())); byte[] buffer = new byte[5120]; int length; while ( (byteread = inStream.read(buffer)) != -1) { bytesum += byteread; //字节数 文件大小 //System.out.println(bytesum); fs.write(buffer, 0, byteread); } inStream.close(); oldfile.delete(); } } catch (Exception e) { System.out.println("复制单个文件操作出错"); e.printStackTrace(); } } }
27.指定目录下搜索文件
private void doSearch(String filter, String path) { File file = new File(path); if(file.exists()) { if(file.isDirectory()) { File[] fileArray = file.listFiles(); for(File f:fileArray) { if(f.isDirectory()) { doSearch(filter,f.getPath()); } else { if(f.getName().indexOf(filter) >= 0) { countFiles++; result.append(f.getPath() + "\r\n"); } } statusShow1.setText(f.getPath()); } statusShow2.setText("The numbers of files had been found:" + countFiles); } else { System.out.println("Couldn't open the path!"); } } else { System.out.println("The path had been apointed was not Exist!"); } }
28.打开对话框
JFileChooser Jfc = new JFileChooser(); //建立选择档案对话方块盒 Jfc %%1 = Jfc.getSelectedFile();
29.文件分割
//import java.io.* try { File f=new File(%%1); FileInputStream fileInputStream = new FileInputStream(f); byte[] buffer = new byte[fileInputStream.available()]; FileInputStream.read(buffer); fileInputStream.close(); String strFileName = f.getName(); FileOutputStream fileOutputStream = new FileOutputStream(new File(%%2+"\\"+ strFileName + "1")); fileOutputStream.write(buffer,0,buffer.length/2); fileOutputStream.close(); fileOutputStream = new FileOutputStream(new File(%%2+"\\"+ strFileName + "2")); fileOutputStream.write(buffer, buffer.length/2, buffer.length-buffer.length/2); fileOutputStream.close(); } catch (ArrayIndexOutOfBoundsException e) { System.out.print("using FileStreamDemo src des"); e.printStackTrace(); } catch(IOException e){ e.printStackTrace(); }
30.文件合并
//import java.io.* String strFileName = %%1.substring(%%1.LastIndexOf("\\") + 1); try { FileInputStream fileInputStream1 = new FileInputStream(new File(%%2 + strFileName + "1")); FileInputStream fileInputStream2 = new FileInputStream(new File(%%2 + strFileName + "2")); byte[] buffer = new byte[fileInputStream1.available()+fileInputStream2.available()]; FileInputStream.read(buffer, 0, fileInputStream1.available()); FileInputStream2.read(buffer, fileInputStream1.available(), fileInputStream2.available()); fileInputStream.close(); fileInputStream2.close(); FileOutputStream fileOutputStream = new FileOutputStream(new File(%%2+"\\"+ strFileName)); fileOutputStream.write(buffer,0,buffer.length); fileOutputStream.close(); catch(IOException e){ e.printStackTrace(); }
31.文件简单加密
//读文件 FileStream fsr = new FileStream(%%1, FileMode.Open, FileAccess.Read); byte[] btArr = new byte[fsr.Length]; fsr.Read(btArr, 0, btArr.Length); fsr.Close(); for (int i = 0; i < btArr.Length; i++) //加密 { int ibt = btArr[i]; ibt += 100; ibt %= 256; btArr[i] = Convert.ToByte(ibt); } //写文件 string strFileName = Path.GetExtension(%%1); FileStream fsw = new FileStream(%%2+"/" + "enc_" + strFileName, FileMode.Create, FileAccess.Write); fsw.Write(btArr, 0, btArr.Length); fsw.Close();
32.文件简单解密
FileStream fsr = new FileStream(%%1, FileMode.Open, FileAccess.Read); byte[] btArr = new byte[fsr.Length]; fsr.Read(btArr, 0, btArr.Length); fsr.Close(); for (int i = 0; i < btArr.Length; i++) //解密 { int ibt = btArr[i]; ibt -= 100; ibt += 256; ibt %= 256; btArr[i] = Convert.ToByte(ibt); } //写文件 string strFileName = Path.GetExtension(%%1); FileStream fsw = new FileStream(%%2 +"/" + strFileName, FileMode.Create, FileAccess.Write); fsw.Write(btArr, 0, btArr.Length); fsw.Close();
33.文件简单解密
//import java.io.* try { File f=new File(%%1); String strFileName = f.getName(); FileInputStream fileInputStream = new FileInputStream(%%2+"\\enc_"+strFilename); byte[] buffer = new byte[fileInputStream.available()]; FileInputStream.read(buffer); fileInputStream.close(); for(int i=0;i<buffer.length;i++) { int ibt=buffer[i]; ibt-=100; ibt+=256; ibt%=256; buffer[i]=(byte)ibt; } FileOutputStream fileOutputStream = new FileOutputStream(f); fileOutputStream.write(buffer,0,buffer.length); fileOutputStream.close(); } catch(ArrayIndexOutOfBoundException e){ e.printStackTrace(); } catch(IOException e){ e.printStackTrace(); }
34.读取ini文件属性
//import java.io.* //import java.util.*; //import java.util.regex.*; //private HashMap configMap=null; private Map configMap=null; if(configMap==null) { String strLine=null; String currentNode=null; String previousNode=null; Vector vec=new Vector(); int row=0; FileReader fileReader = new FileReader(%%1); BufferedReader bufferedReader=new BufferedReader(fileReader); try { while((strLine=bufferedReader.readLine())!=null) { String oneLine=strLine.trim(); if(oneLine.length()>=1) { Pattern p=Pattern.compile("\\[\\s*.*\\s*\\]"); int nodelen=oneLine.split("[;]").length; String[] strArray1=new String[4]; if(nodelen==1) { oneLine=oneLine.split("[;]")[0].trim(); } else if(nodelen==2) { strArray1[3]=oneLine.split("[;]")[1].trim(); oneLine=oneLine.split("[;]")[0].trim(); } Matcher m=p.matche(oneLine); if(m.matches()) { strArray1[0]="@Node"; strArray1[1]=oneLine; strArray1[2]=""; } else { int keylen=oneLine.split("=").length; if(keylen==1) { strArray1[0]="@Key"; strArray1[1]=oneLine.split("=")[0]; strArray1[2]=""; } else if(kenlen==2) { strArray1[0]="@Key"; strArray1[1]=oneLine.split("=")[0]; strArray1[2]=oneLine.split("=")[1]; } else { strArray1[0]="@ElementError"; strArray1[1]=""; strArray1[2]=""; strArray1[3]=""; } } if(strArray1[0].equals("@Node")) { previousNode=currentNode; currentNode=strArray1[1]; if(row>0) { configMap.put(previousNode,vec.elementAt(0)); //"size:"+configMap.size() vec.clear(); row=0; } } else if(strArray1[0].equals("@Key") && row==0) { Properties ht=new Properties(); ht.setProperty(strArray1[1],strArray1[2]); vec.add(0,ht); row++; } } else if(strArray1[0].equals("@Key") && row>0) { Properties ht2=new Properties(); ht2.put(strArray1[1],strArray1[2]); vec.clear(); vec.add(0,ht2); row++; } } } configMap.put(currentNode,vec.elementAt(0)); } catch (FileNotFoundException e) { configMap=null; e.printStackTrace(); } catch (IOException e) { configMap=null; e.printStackTrace(); } finally { vec.clear(); bufferedReader.close(); fileReader.close(); } } String nodeKey="["+%%2+"]"; Properties ht=(Properties)configMap.get(nodeKey); //"ht:"+ht.toString() //"key:"+%%3 CString %%4=null; if(ht.containsKey(%%3)) { try { %%4=ht.getProperty(%%3); } catch (NullPointException e) { e.printStackTrace(); } }
35.合并一个文件下所有的文件
File combinefiles=new File(%%1); File[] files=combinefiles.listFiles(); FileOutputStream fs; try { fs=new FileOutputStream(new File(%%2)); } catch(IOException e){ e.printStackTrace(); } for(int i=0;i<files.length;i++){ if(files[i].isFile()){ int bytesum=0; int byteread=0; try { FileInputStream inStream=new FileInputStream(files[i]); byte[] buffer = new byte[5120]; int length; while((byteread=inStream.read(buffer))!=-1){ bytesum+=byteread; fs.write(buffer,0,byteread); } inStream.close(); } catch(Exception e){ //复制文件出错 e.printStackTrace(); } } } try { fs.close(); } catch(IOException e){ { e.printStackTrace(); }
36.写入ini文件属性
//import java.io.* //import java.util.*; //import java.util.regex.*; //private HashMap configMap=null; private Map configMap=null; if(configMap==null) { String strLine=null; String currentNode=null; String previousNode=null; Vector vec=new Vector(); int row=0; FileReader fileReader = new FileReader(%%1); BufferedReader bufferedReader=new BufferedReader(fileReader); try { while((strLine=bufferedReader.readLine())!=null) { String oneLine=strLine.trim(); if(oneLine.length()>=1) { Pattern p=Pattern.compile("\\[\\s*.*\\s*\\]"); int nodelen=oneLine.split("[;]").length; String[] strArray1=new String[4]; if(nodelen==1) { oneLine=oneLine.split("[;]")[0].trim(); } else if(nodelen==2) { strArray1[3]=oneLine.split("[;]")[1].trim(); oneLine=oneLine.split("[;]")[0].trim(); } Matcher m=p.matche(oneLine); if(m.matches()) { strArray1[0]="@Node"; strArray1[1]=oneLine; strArray1[2]=""; } else { int keylen=oneLine.split("=").length; if(keylen==1) { strArray1[0]="@Key"; strArray1[1]=oneLine.split("=")[0]; strArray1[2]=""; } else if(kenlen==2) { strArray1[0]="@Key"; strArray1[1]=oneLine.split("=")[0]; strArray1[2]=oneLine.split("=")[1]; } else { strArray1[0]="@ElementError"; strArray1[1]=""; strArray1[2]=""; strArray1[3]=""; } } if(strArray1[0].equals("@Node")) { previousNode=currentNode; currentNode=strArray1[1]; if(row>0) { configMap.put(previousNode,vec.elementAt(0)); //"size:"+configMap.size() vec.clear(); row=0; } } else if(strArray1[0].equals("@Key") && row==0) { Properties ht=new Properties(); ht.setProperty(strArray1[1],strArray1[2]); vec.add(0,ht); row++; } } else if(strArray1[0].equals("@Key") && row>0) { Properties ht2=new Properties(); ht2.put(strArray1[1],strArray1[2]); vec.clear(); vec.add(0,ht2); row++; } } } configMap.put(currentNode,vec.elementAt(0)); } catch (FileNotFoundException e) { configMap=null; e.printStackTrace(); } catch (IOException e) { configMap=null; e.printStackTrace(); } finally { vec.clear(); bufferedReader.close(); fileReader.close(); } } String nodeKey="["+%%2+"]"; Properties ht=null; if(configMap.containsKey(nodeKey)) { ht=(Properties)configMap.get(nodeKey); } else { ht=(Properties)configMap.get(nodeKey,%%3); } try { ht.setProperty(%%3,%%4); } catch (NullPointException e) { e.printStackTrace(); } FileWriter fw = new FileWriter(%%1); BufferedWriter bw=new BufferedWriter(fw); Set keys=configMap.keySet(); Iterator ite=keys.iterator(); while(ite.hasNext()) { String oneKey=(String)ite.next(); bw.WriteLine(oneKey); ht=(Properties)configMap.get(oneKey); ht.list(new PrintWriter(bw,true)); }
37.获得当前路径
this.getClass().getResource("/").getPath()
38.读取XML数据库
//import java.io.*; //import javax.xml.parsers.*; //import org.xml.sax.*; //import org.w3c.dom.*; private Document document; File xml_file=new File(%%1); DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); try { DocumentBuilder builder=factory.newDocumentBuilder(); document=builder.parse(xml_file); } catch(Exception e) { e.printStackTrace(); } String subNodeTag=%%2; Element rootNode=document.getDocumentElement(); //%%2="serverList" //%%4="id" //%%6="port" //%%3="server" //%%5="ipaddr" NodeList nlist=rootNode.getElementsByTagName(subNodeTag); int len=nlist.getLength(); Node x=null; for(int i=0;i<len;i++) { x=nlist.item(i); String getNodeAttrValue=null; NamedNodeMap attrList=node.getAttributes(); for(int j=0;j<attrList.getLength();j++) { if(attrList.item(j).getNodeName().compareTo(%%7)==0) { getNodeAttrValue=attrList.item(j).getNodeValue(); break; } } if(getNodeAttrValue.compareTo(%%8)==0) break; } String %%9=null; if(x!=null) { NodeList nlist=node.getChildNodes(); int len=nlist.getLength(); Node currentNode; String nodeName; for(int i=0;i<len;i++) { currentNode=nlist.item(i); nodeName=currentNode.getNodeName(); if(nodeName.equals(%%5)==0) { %%9=document.getElementValue(currentNode); break; } } }
39.写入XML数据库
//import java.io.*; //import javax.xml.parsers.*; //import org.xml.sax.*; //import org.w3c.dom.*; //import javax.xml.transform.*; //import javax.xml.transform.dom.*; //import javax.xml.transform.stream.*; private Document document; private Element node; File xml_file=new File(%%1); DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); try { DocumentBuilder builder=factory.newDocumentBuilder(); document=builder.parse(xml_file); } catch(Exception e) { e.printStackTrace(); } String subNodeTag=%%2; Element rootNode=document.getDocumentElement(); //%%2="serverList" //%%4="id" //%%6="port" //%%3="server" //%%5="ipaddr" NodeList nlist=rootNode.getElementByTagName(subNodeTag); node=document.createElement(%%3); node.setAttribute(%%4,nlist.getLength()+1).toString()); node.appendChild(document.createTextNode("\n"); Element ipNode=document.createElement(%%5); ipNode.appendChild(document.createTextNode(%%8)); node.appendChild(ipNode); node.appendChild(document,createTextNode("\n"); Element port=document.createElement(%%6); port.appendChild(document.createTextNode(%%9)); node.appendChild(port); node.appendChild(document,createTextNode("\n"); nlist.appendChild(node); TransformerFactory tFactory=TransformerFactory.newInstance(); Transformer transformer=null; try { transformer=tFactory.newTransformer(); DOMSource source=new DOMSource(document); StreamResult result=new StreamResult(xml_file); transformer.transform(source,result); } catch(Exception e) { e.printStackTrace(); }
40.ZIP压缩文件
//import java.io.*; //import java.util.zip.*; //创建文件输入流对象 FileInputStream fis=new FileInputStream(%%1); //创建文件输出流对象 FileOutputStream fos=new FileOutputStream(%%2); //创建ZIP数据输出流对象 ZipOutputStream zipOut=new ZipOutputStream(fos); //创建指向压缩原始文件的入口 ZipEntry entry=new ZipEntry(args[0]); zipOut.putNextEntry(entry); //向压缩文件中输出数据 int nNumber; byte[] buffer=new byte[1024]; while((nNumber=fis.read(buffer))!=-1) zipOut.write(buffer,0,nNumber); //关闭创建的流对象 zipOut.close(); fos.close(); fis.close(); } catch(IOException e) { System.out.println(e); }
41.ZIP解压缩
//import java.io.*; //import java.util.zip.*; try{ //创建文件输入流对象实例 FileInputStream fis=new FileInputStream(%%1); //创建ZIP压缩格式输入流对象实例 ZipInputStream zipin=new ZipInputStream(fis); //创建文件输出流对象实例 FileOutputStream fos=new FileOutputStream(%%2); //获取Entry对象实例 ZipEntry entry=zipin.getNextEntry(); byte[] buffer=new byte[1024]; int nNumber; while((nNumber=zipin.read(buffer,0,buffer.length))!=-1) fos.write(buffer,0,nNumber); //关闭文件流对象 zipin.close(); fos.close(); fis.close(); } catch(IOException e) { System.out.println(e); }
42.递归删除目录中的文件
//import java.io.*; //import java.util.*; ArrayList<String> folderList = new ArrayList<String>(); folderList.add(%%1); for (int j = 0; j < folderList.size(); j++) { File file = new File(folderList.get(j)); File[] files = file.listFiles(); ArrayList<File> fileList = new ArrayList<File>(); for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { folderList.add(files[i].getPath()); } else { fileList.add(files[i]); } } for (File f : fileList) { f.delete(); } }
43.ZIP压缩文件夹
//import java.io.*; //import org.apache.tools.zip.ZipOutputStream; //这个包在ant.jar里,要到官方网下载 //import java.util.zip.*; try { String zipFileName = %%2; //打包后文件名字 File f=new File(%%1); ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName)); String base= ""; if (f.isDirectory()) { File[] fl = f.listFiles(); out.putNextEntry(new org.apache.tools.zip.ZipEntry(base + "/")); base = base.length() == 0 ? "" : base + "/"; for (int i = 0; i < fl.length; i++) { zip(out, fl[i], base + fl[i].getName()); } }else { out.putNextEntry(new org.apache.tools.zip.ZipEntry(base)); FileInputStream in = new FileInputStream(f); int b; while ( (b = in.read()) != -1) { out.write(b); } in.close(); } out.close(); }catch (Exception ex) { ex.printStackTrace(); }
44.Java验证DTD
try { InputStream in=new FileInputStream(filePath); SAXReader saxReader = new SAXReader(); this.document = saxReader.read(in); DocumentBuilderFactory factory = null; factory = DocumentBuilderFactory.newInstance(); //进行dtd检查 factory.setValidating(true); } catch (Exception e) { }
45.验证Schema
String xsdFileName = \"Q:\\\\_dev_stu\\\\xsdtest\\\\src\\\\note.xsd\"; try { //创建默认的XML错误处理器 XMLErrorHandler errorHandler = new XMLErrorHandler(); //获取基于 SAX 的解析器的实例 SAXParserFactory factory = SAXParserFactory.newInstance(); //解析器在解析时验证 XML 内容。 factory.setValidating(true); //指定由此代码生成的解析器将提供对 XML 名称空间的支持。 factory.setNamespaceAware(true); //使用当前配置的工厂参数创建 SAXParser 的一个新实例。 SAXParser parser = factory.newSAXParser(); //创建一个读取工具 SAXReader xmlReader = new SAXReader(); //获取要校验xml文档实例 Document xmlDocument = (Document) xmlReader.read(new File(xmlFileName)); //设置 XMLReader 的基础实现中的特定属性。核心功能和属性列表可以在 [url]http://sax.sourceforge.net/?selected=get-set[/url] 中 找到。 parser.setProperty( \"http://java.sun.com/xml/jaxp/properties/schemaLanguage", \"http://www.w3.org/2001/XMLSchema"); parser.setProperty( \"http://java.sun.com/xml/jaxp/properties/schemaSource", \"file:\" + xsdFileName); //创建一个SAXValidator校验工具,并设置校验工具的属性 SAXValidator validator = new SAXValidator(parser.getXMLReader()); //设置校验工具的错误处理器,当发生错误时,可以从处理器对象中得到错误信息。 validator.setErrorHandler(errorHandler); //校验 validator.validate(xmlDocument); XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint()); //如果错误信息不为空,说明校验失败,打印错误信息 if (errorHandler.getErrors().hasContent()) { System.out.println(\"XML文件通过XSD文件校验失败!\"); writer.write(errorHandler.getErrors()); } else { System.out.println(\"Good! XML文件通过XSD文件校验成功!\"); } } catch (Exception ex) { System.out.println(\"XML文件: \" + xmlFileName + \" 通过XSD文件:\" + xsdFileName + \"检验失败。\n原因: \" + ex.getMessage ()); ex.printStackTrace(); } }
46.Grep
//import java.util.regex.Pattern; //import java.util.regex.Matcher; //import java.io.FileReader; //import java.io.BufferedReader; //import java.io.IOException; /** * Simple implementation of the ubiquitous grep command. * First argument is the regular expression to search for (remember to * quote and/or escape as appropriate). All following arguments are * filenames to read and search for the regular expression. * * Created: April, 2002 * @author Ron Hitchens (ron@ronsoft.com) * @version $Id: SimpleGrep.java,v 1.1 2002/05/07 02:21:08 ron Exp $ */ public static void main (String [] argv) throws Exception { if (argv.length < 2) { // 如果参数行没有输入参数,结束程序 System.out.println ("Usage: regex file [ ... ]"); return; } Pattern pattern = Pattern.compile (argv [0]); // 第一个参数为需要匹配的字符串 Matcher matcher = pattern.matcher (""); // 一次读取各个文件 for (int i = 1; i < argv.length; i++) { String file = argv [i]; // 第2个参数开始,均为文件名。 BufferedReader br = null; String line; try { br = new BufferedReader (new FileReader (file)); // 打开文件 } catch (IOException e) { // 没有打开文件,则产生异常 System.err.println ("Cannot read '" + file + "': " + e.getMessage()); continue; } while ((line = br.readLine()) != null) { // 读入一行,直到文件结束 matcher.reset (line); // 匹配字符串 if (matcher.find()) { // 如果有匹配的字符串,则输出 System.out.println (file + ": " + line); } } br.close(); // 关闭文件 } }
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hias_asia/archive/2009/04/16/4084403.aspx
相关推荐
Java 中 File 类的使用方法 Java 中的 File 类是 java.io 包中的一员,它提供了对文件和文件夹的操作。下面是对 File 类的使用方法的详细讲解。 构造函数 File 类有多个构造函数,分别是: * `public File...
java中File类的使用方法java中File类的使用方法java中File类的使用方法
在Java编程语言中,`java.io.File`类是一个非常重要的类,它提供了对文件和目录路径名的抽象表示,并且支持一些基本的操作,例如创建、删除文件或目录等。本文将详细介绍`File`类中的常用构造方法及方法,并给出相应...
IO流(Input/Output Stream)是Java中处理数据输入和输出的一种机制,分为字节流和字符流两大类。字节流处理的是字节数据,如`InputStream`和`OutputStream`;字符流处理的是字符数据,如`Reader`和`Writer`。`...
在Java中,`java.io.File`类是用于操作文件和目录的基本工具。它可以用来创建、删除、重命名文件,以及获取文件的属性信息,如大小、路径、最后修改时间等。 要读取一个TXT文档,我们需要使用Java的I/O流。这里主要...
Java SE程序 File类 ,文件的搜索Java SE程序 File类 ,文件的搜索Java SE程序 File类 ,文件的搜索Java SE程序 File类 ,文件的搜索Java SE程序 File类 ,文件的搜索Java SE程序 File类 ,文件的搜索Java SE程序 File类 ,...
Java中的File类是Java IO包(java.io)中的核心类,用于处理文件和文件系统相关的操作,如文件的创建、删除、重命名以及查询文件属性等。File类并不直接涉及文件内容的读写,而是专注于文件对象的元数据管理。 1. *...
Java中的`File`类是Java标准库中用于处理文件和目录的一个重要类,它提供了丰富的API来获取和操作文件及目录的信息。以下是对`File`类及其相关知识点的详细解析: ### File和路径的概念 在Java中,`File`类主要...
在Java中,一切皆对象,File类也不例外,它将文件或目录视为对象来处理。 **一、File类的基本使用** File类的主要构造函数有以下几种: 1. `File(String path)`:根据给定的路径字符串创建File对象。 2. `File...
Java中的`File`类是Java I/O流体系中不可或缺的一部分,它是用来操作文件和目录的基础类。`File`对象代表了文件和目录路径名的抽象表示。在这个详细的讲解中,我们将深入探讨`File`类的各种功能,包括创建、读取、...
Java中的`File`类是Java.io包中的核心类,它提供了在操作系统级别操作文件和目录的能力。`File`类主要用于文件和目录路径名的表示和操作,而不涉及文件的读写。下面我们将深入探讨`File`类的主要特性和常用方法。 1...
Java中的`File`类是Java I/O流体系中非常基础且重要的部分,它主要用于操作文件和目录。在Java中,如果你需要对文件进行创建、删除、重命名、获取属性等操作,`File`类就是你的首选。下面我们将深入探讨`File`类的...
java 中FIle类的使用总结,有File的创建,文件夹的创建,文件的创建,文件的复制,文件的转移等等
### Java中File类的delete方法详解 #### 一、引言 在Java编程语言中,`File`类是处理文件和目录的核心类之一。通过`File`类提供的各种方法,开发者能够实现对文件和目录的基本操作,如创建、读取、重命名、删除等。...
在Java中,`File`类位于`java.io`包中,用于封装文件和目录路径名,并提供了与文件系统交互的方法。它是一个非常重要的类,用于获取文件的各种属性以及进行基本的文件管理操作,如创建、删除文件或目录等。 #### 二...
在Java编程语言中,`File`类是处理文件和目录的核心工具。它是`java.io`包的一部分,提供了许多方法来创建、读取、写入、删除文件以及操作目录。以下是对`File`类以及文件读写、复制和图片下载的详细讲解。 1. **...
### Java中File的相对路径与绝对路径总结 在Java Web开发过程中,经常需要处理文件的读写操作,尤其是在运行时获取配置文件、动态加载对象等情况。对于这些需求,理解和掌握文件的相对路径与绝对路径至关重要。 ##...