Java最全文件操作實(shí)例匯總
本文實(shí)例匯總了Java文件操作。分享給大家供大家參考,具體如下:
1.創(chuàng)建文件夾
//import java.io.*; File myFolderPath = new File(%%1); try { if (!myFolderPath.exists()) { myFolderPath.mkdir(); } } catch (Exception e) { System.out.println("新建目錄操作出錯(cuò)"); e.printStackTrace(); }
2.創(chuàng)建文件
//import java.io.*; 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("新建文件操作出錯(cuò)"); e.printStackTrace(); }
3.刪除文件
//import java.io.*; File myDelFile = new File(%%1); try { myDelFile.delete(); } catch (Exception e) { System.out.println("刪除文件操作出錯(cuò)"); e.printStackTrace(); }
4.刪除文件夾
//import java.io.*; File delFolderPath = new File(%%1); try { delFolderPath.delete(); //刪除空文件夾 } catch (Exception e) { System.out.println("刪除文件夾操作出錯(cuò)"); e.printStackTrace(); }
5.刪除一個(gè)文件下夾所有的文件夾
//import java.io.*; 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.清空文件夾
//import java.io.*; File delfilefolder=new File(%%1); try { if (!delfilefolder.exists()) { delfilefolder.delete(); } delfilefolder.mkdir(); } catch (Exception e) { System.out.println("清空目錄操作出錯(cuò)"); e.printStackTrace(); }
7.讀取文件
//import java.io.*; // 逐行讀取數(shù)據(jù) 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.寫入文件
//import java.io.*; // 將數(shù)據(jù)寫入文件 try { FileWriter fw = new FileWriter(%%1); fw.write(%%2); fw.flush(); fw.close(); } catch (IOException e) { e.printStackTrace(); }
9.寫入隨機(jī)文件
//import java.io.*; try { RandomAcessFile logFile=new RandomAcessFile(%%1,"rw"); long lg=logFile.length(); logFile.seek(%%2); logFile.writeByte(%%3); }catch(IOException ioe){ System.out.println("無(wú)法寫入文件:"+ioe.getMessage()); }
10.讀取文件屬性
//import java.io.*; // 文件屬性的取得 File af = new File(%%1); if (af.exists()) { System.out.println(f.getName() + "的屬性如下: 文件長(zhǎng)度為:" + 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.寫入屬性
//import java.io.*; File filereadonly=new File(%%1); try { boolean b=filereadonly.setReadOnly(); } catch (Exception e) { System.out.println("拒絕寫訪問(wèn):"+e.printStackTrace()); }
12.枚舉一個(gè)文件夾中的所有文件
//import java.io.*; //import java.util.*; LinkedList<String> folderList = new LinkedList<String>(); folderList.add(%%1); while (folderList.size() > 0) { File file = new File(folderList.peek()); folderList.removeLast(); 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.getAbsoluteFile(); %%3 } }
13.復(fù)制文件夾
//import java.io.*; //import java.util.*; LinkedList<String> folderList = new LinkedList<String>(); folderList.add(%%1); LinkedList<String> folderList2 = new LinkedList<String>(); folderList2.add(%%2+ %%1.substring(%%1.lastIndexOf("http://"))); while (folderList.size() > 0) { (new File(folderList2.peek())).mkdirs(); // 如果文件夾不存在 則建立新文件夾 File folders = new File(folderList.peek()); String[] file = folders.list(); File temp = null; try { for (int i = 0; i < file.length; i++) { if (folderList.peek().endsWith(File.separator)) { temp = new File(folderList.peek() + File.separator + file[i]); } else { temp = new File(folderList.peek() + File.separator + file[i]); } if (temp.isFile()) { FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream( folderList2.peek() + File.separator + (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()) {// 如果是子文件夾 for (File f : temp.listFiles()) { if (f.isDirectory()) { folderList.add(f.getPath()); folderList2.add(folderList2.peek() + File.separator + f.getName()); } } } } } catch (Exception e) { //System.out.println("復(fù)制整個(gè)文件夾內(nèi)容操作出錯(cuò)"); e.printStackTrace(); } folderList.removeFirst(); folderList2.removeFirst(); }
14.復(fù)制一個(gè)文件夾下所有的文件夾到另一個(gè)文件夾下
//import java.io.*; //import java.util.*; 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.get(j))).mkdirs(); //如果文件夾不存在 則建立新文件夾 File folders=new File(folderList.get(j)); String[] file=folders.list(); File temp=null; try { for (int i = 0; i < file.length; i++) { if(folderList.get(j).endsWith(File.separator)){ temp=new File(folderList.get(j)+"/"+file[i]); } else{ temp=new File(folderList.get(j)+"/"+File.separator+file[i]); } FileInputStream input = new FileInputStream(temp); if(temp.isFile()){ FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream(folderList2.get(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.get(j)+"/"+file[i]); folderList2.add(folderList2.get(j)+"/"+file[i]); } } } catch (Exception e) { System.out.println("復(fù)制整個(gè)文件夾內(nèi)容操作出錯(cuò)"); e.printStackTrace(); } } } }
15.移動(dòng)文件夾
//import java.io.*; //import java.util.*; LinkedList<String> folderList = new LinkedList<String>(); folderList.add(%%1); LinkedList<String> folderList2 = new LinkedList<String>(); folderList2.add(%%2 + %%1.substring(%%1.lastIndexOf("http://"))); while (folderList.size() > 0) { (new File(folderList2.peek())).mkdirs(); // 如果文件夾不存在 則建立新文件夾 File folders = new File(folderList.peek()); String[] file = folders.list(); File temp = null; try { for (int i = 0; i < file.length; i++) { if (folderList.peek().endsWith(File.separator)) { temp = new File(folderList.peek() + File.separator + file[i]); } else { temp = new File(folderList.peek() + File.separator + file[i]); } if (temp.isFile()) { FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream( folderList2.peek() + File.separator + (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.delete()) System.out.println("刪除單個(gè)文件操作出錯(cuò)!"); } if (temp.isDirectory()) {// 如果是子文件夾 for (File f : temp.listFiles()) { if (f.isDirectory()) { folderList.add(f.getPath()); folderList2.add(folderList2.peek() + File.separator + f.getName()); } } } } } catch (Exception e) { // System.out.println("復(fù)制整個(gè)文件夾內(nèi)容操作出錯(cuò)"); e.printStackTrace(); } folderList.removeFirst(); folderList2.removeFirst(); } File f = new File(%%1); if (!f.delete()) { for (File file : f.listFiles()) { if (file.list().length == 0) { System.out.println(file.getPath()); file.delete(); } } }
16.移動(dòng)一個(gè)文件夾下所有的文件夾到另一個(gè)目錄下
//import java.io.*; //import java.util.*; 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.get(j))).mkdirs(); //如果文件夾不存在 則建立新文件夾 File folders=new File(folderList.get(j)); String[] file=folders.list(); File temp=null; try { for (int i = 0; i < file.length; i++) { if(folderList.get(j).endsWith(File.separator)){ temp=new File(folderList.get(j)+"/"+file[i]); } else{ temp=new File(folderList.get(j)+"/"+File.separator+file[i]); } FileInputStream input = new FileInputStream(temp); if(temp.isFile()){ FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream(folderList2.get(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.get(j)+"/"+file[i]); folderList2.add(folderList2.get(j)+"/"+file[i]); } } } catch (Exception e) { System.out.println("復(fù)制整個(gè)文件夾內(nèi)容操作出錯(cuò)"); e.printStackTrace(); } } movefoldersList[k].delete(); } }
17.以一個(gè)文件夾的框架在另一個(gè)目錄創(chuàng)建文件夾和空文件
//import java.io.*; //import java.util.*; boolean b=false;//不創(chuàng)建空文件 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.get(j))).mkdirs(); //如果文件夾不存在 則建立新文件夾 File folders=new File(folderList.get(j)); String[] file=folders.list(); File temp=null; try { for (int i = 0; i < file.length; i++) { if(folderList.get(j).endsWith(File.separator)){ temp=new File(folderList.get(j)+"/"+file[i]); } else{ temp=new File(folderList.get(j)+"/"+File.separator+file[i]); } FileInputStream input = new FileInputStream(temp); if(temp.isFile()){ if (b) temp.createNewFile(); } if(temp.isDirectory()){//如果是子文件夾 folderList.add(folderList.get(j)+"/"+file[i]); folderList2.add(folderList2.get(j)+"/"+file[i]); } } } catch (Exception e) { System.out.println("復(fù)制整個(gè)文件夾內(nèi)容操作出錯(cuò)"); e.printStackTrace(); } }
18.復(fù)制文件
//import java.io.*; int bytesum = 0; int byteread = 0; File oldfile = new File(%%1); try { if (oldfile.exists()) { //文件存在時(shí) FileInputStream 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; //字節(jié)數(shù) 文件大小 System.out.println(bytesum); fs.write(buffer, 0, byteread); } inStream.close(); } } catch (Exception e) { System.out.println("復(fù)制單個(gè)文件操作出錯(cuò)"); e.printStackTrace(); }
19.復(fù)制一個(gè)文件夾下所有的文件到另一個(gè)目錄
//import java.io.*; 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; //字節(jié)數(shù) 文件大小 System.out.println(bytesum); fs.write(buffer, 0, byteread); } inStream.close(); } catch (Exception e) { System.out.println("復(fù)制單個(gè)文件操作出錯(cuò)"); e.printStackTrace(); } } }
20.提取擴(kuò)展名
21.提取文件名
22.提取文件路徑
23.替換擴(kuò)展名
//import java.io.*; File replaceExt=new File(%%1); replaceExt.renameTo(replaceExt.getName().split(".")[0]+"."+%%2);
24.追加路徑
final String path=%%1.endsWith("http://")?%%1:%%1+"http://"; %%3=path+%%2;
25.移動(dòng)文件
//import java.io.*; int bytesum = 0; int byteread = 0; File oldfile = new File(%%1); try { if (oldfile.exists()) { //文件存在時(shí) 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; //字節(jié)數(shù) 文件大小 //System.out.println(bytesum); fs.write(buffer, 0, byteread); } inStream.close(); oldfile.delete(); } } catch (Exception e) { System.out.println("復(fù)制單個(gè)文件操作出錯(cuò)"); e.printStackTrace(); }
26.移動(dòng)一個(gè)文件夾下所有文件到另一個(gè)目錄
//import java.io.*; 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()) { //文件存在時(shí) 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; //字節(jié)數(shù) 文件大小 //System.out.println(bytesum); fs.write(buffer, 0, byteread); } inStream.close(); oldfile.delete(); } } catch (Exception e) { System.out.println("復(fù)制單個(gè)文件操作出錯(cuò)"); e.printStackTrace(); } } }
27.指定目錄下搜索文件
//import java.io.*; String filter="*.*"; String path=%%1; 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.打開對(duì)話框
//import java.io.*; //import javax.swing.*; JFileChooser Jfc = new JFileChooser(); //建立選擇檔案對(duì)話方塊盒 Jfc if (Jfc.isFileSelectionEnabled()) { File %%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+"http://"+ strFileName + "1")); fileOutputStream.write(buffer,0,buffer.length/2); fileOutputStream.close(); fileOutputStream = new FileOutputStream(new File(%%2+"http://"+ 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("http://") + 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+"http://"+ strFileName)); fileOutputStream.write(buffer,0,buffer.length); fileOutputStream.close(); catch(IOException e){ e.printStackTrace(); }
31.文件簡(jiǎn)單加密
//import java.io.* try { File f=new File((new File(%%1)).getPath()+"http://enc_"+(new File(%%1)).getName().split("http://")[1]); String strFileName = f.getName(); FileInputStream fileInputStream = new FileInputStream(%%2+"http://"+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; 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(); }
32.文件簡(jiǎn)單解密
//import java.io.* try { File f=new File(%%1); String strFileName = f.getName(); FileInputStream fileInputStream = new FileInputStream(%%2+"http://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(); }
33.寫入ini文件屬性
//import java.io.*; //import java.util.*; //import java.util.regex.*; if (configMap == null) { String WriteBuffer = ""; configMap = new HashMap<String, Serializable>(); String strLine = null; String currentNode = null; String previousNode = null; Vector<Properties> vec = new Vector<Properties>(); int row = 0; FileReader fileReader = null; try { fileReader = new FileReader("Config.ini"); } catch (FileNotFoundException e1) { e1.printStackTrace(); } BufferedReader bufferedReader = new BufferedReader(fileReader); try { while ((strLine = bufferedReader.readLine()) != null) { String oneLine = strLine.trim(); if (oneLine.length() >= 1) { Pattern p = Pattern.compile("http://[//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.matcher(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 (keylen == 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)); vec.clear(); row = 0; } WriteBuffer += (oneLine + "/r/n"); } else if (strArray1[0].equals("@Key") && row == 0) { Properties ht = new Properties(); ht.setProperty(strArray1[1], strArray1[2]); if (strArray1[1].equals(%%1)) { WriteBuffer += (%%1+"=" + %%2 + "/r/n"); } else WriteBuffer += (oneLine + "/r/n"); 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); WriteBuffer += (oneLine + "/r/n"); row++; } } } configMap.put(currentNode, vec.elementAt(0)); } catch (FileNotFoundException e) { configMap = null; e.printStackTrace(); } catch (IOException e) { configMap = null; e.printStackTrace(); } finally { vec.clear(); try { bufferedReader.close(); fileReader.close(); } catch (IOException e) { e.printStackTrace(); } try { FileWriter fw = new FileWriter("Config.ini"); fw.write(WriteBuffer); fw.flush(); fw.close(); } catch (IOException e) { e.printStackTrace(); } } }
34.讀取ini文件屬性
//import java.io.*; //import java.util.*; //import java.util.regex.*; //private HashMap configMap=null; private Map<String, Serializable> configMap=null; String %%2=null; if (configMap == null) { configMap = new HashMap<String, Serializable>(); String strLine = null; String currentNode = null; String previousNode = null; Vector<Properties> vec = new Vector<Properties>(); int row = 0; FileReader fileReader = null; try { fileReader = new FileReader("Config.ini"); } catch (FileNotFoundException e1) { e1.printStackTrace(); } BufferedReader bufferedReader = new BufferedReader(fileReader); try { while ((strLine = bufferedReader.readLine()) != null) { String oneLine = strLine.trim(); if (oneLine.length() >= 1) { Pattern p = Pattern.compile("http://[//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.matcher(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 (keylen == 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)); vec.clear(); row = 0; } } else if (strArray1[0].equals("@Key") && row == 0) { Properties ht = new Properties(); ht.setProperty(strArray1[1], strArray1[2]); if(strArray1[1].equals(%%1)) { %%2=strArray1[2]; return; } 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(); try { bufferedReader.close(); fileReader.close(); } catch (IOException e) { e.printStackTrace(); } } }
35.合并一個(gè)文件下所有的文件
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){ //復(fù)制文件出錯(cuò) 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<String, Serializable> configMap=null; if(configMap==null) { String strLine=null; String currentNode=null; String previousNode=null; Vector<Properties> vec=new Vector<Properties>(); int row=0; FileReader fileReader = null; try { fileReader = new FileReader(%%1); } catch (FileNotFoundException e1) { e1.printStackTrace(); } BufferedReader bufferedReader=new BufferedReader(fileReader); try { while((strLine=bufferedReader.readLine())!=null) { String oneLine=strLine.trim(); if(oneLine.length()>=1) { Pattern p=Pattern.compile("http://[//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.matcher(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(keylen==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(); try { bufferedReader.close(); fileReader.close(); } catch (IOException e) { e.printStackTrace(); } } } String nodeKey="["+%%2+"]"; Properties ht=null; if(configMap.containsKey(nodeKey)) { ht=(Properties)configMap.get(nodeKey); } else { ht=(Properties)configMap.put(nodeKey,%%3); } try { ht.setProperty(%%3,%%4); } catch (NullPointException e) { e.printStackTrace(); } FileWriter fw= null; BufferedWriter bw= null; try { fw = new FileWriter(%%1); bw=new BufferedWriter(fw); } catch (IOException e) { e.printStackTrace(); } Set keys=configMap.keySet(); Iterator ite=keys.iterator(); while(ite.hasNext()) { String oneKey=(String)ite.next(); try { bw.write(oneKey+"/n"); } catch (IOException e) { e.printStackTrace(); } ht=(Properties)configMap.get(oneKey); ht.list(new PrintWriter(bw,true)); }
37.獲得當(dāng)前路徑
38.讀取XML數(shù)據(jù)庫(kù)
//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數(shù)據(jù)庫(kù)
//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.*; //創(chuàng)建文件輸入流對(duì)象 FileInputStream fis=new FileInputStream(%%1); //創(chuàng)建文件輸出流對(duì)象 FileOutputStream fos=new FileOutputStream(%%2); //創(chuàng)建ZIP數(shù)據(jù)輸出流對(duì)象 ZipOutputStream zipOut=new ZipOutputStream(fos); //創(chuàng)建指向壓縮原始文件的入口 ZipEntry entry=new ZipEntry(args[0]); zipOut.putNextEntry(entry); //向壓縮文件中輸出數(shù)據(jù) int nNumber; byte[] buffer=new byte[1024]; while((nNumber=fis.read(buffer))!=-1) zipOut.write(buffer,0,nNumber); //關(guān)閉創(chuàng)建的流對(duì)象 zipOut.close(); fos.close(); fis.close(); } catch(IOException e) { System.out.println(e); }
41.獲得應(yīng)用程序完整路徑
42.ZIP解壓縮
//import java.io.*; //import java.util.zip.*; try{ //創(chuàng)建文件輸入流對(duì)象實(shí)例 FileInputStream fis=new FileInputStream(%%1); //創(chuàng)建ZIP壓縮格式輸入流對(duì)象實(shí)例 ZipInputStream zipin=new ZipInputStream(fis); //創(chuàng)建文件輸出流對(duì)象實(shí)例 FileOutputStream fos=new FileOutputStream(%%2); //獲取Entry對(duì)象實(shí)例 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); //關(guān)閉文件流對(duì)象 zipin.close(); fos.close(); fis.close(); } catch(IOException e) { System.out.println(e); }
43.遞歸刪除目錄中的文件
//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; //這個(gè)包在ant.jar里,要到官方網(wǎng)下載 //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驗(yàn)證DTD
//import java.io.*; //import javax.xml.parsers.*; //import org.xml.sax.*; //import org.w3c.dom.*; try { InputStream in=new FileInputStream(filePath); SAXReader saxReader = new SAXReader(); this.document = saxReader.read(in); DocumentBuilderFactory factory = null; factory = DocumentBuilderFactory.newInstance(); //進(jìn)行dtd檢查 factory.setValidating(true); } catch (Exception e) { }
45.驗(yàn)證Schema
//import java.io.*; //import javax.xml.parsers.*; //import org.xml.sax.*; //import org.w3c.dom.*; String xsdFileName = /"Q:////_dev_stu////xsdtest////src////note.xsd/"; try { //創(chuàng)建默認(rèn)的XML錯(cuò)誤處理器 XMLErrorHandler errorHandler = new XMLErrorHandler(); //獲取基于 SAX 的解析器的實(shí)例 SAXParserFactory factory = SAXParserFactory.newInstance(); //解析器在解析時(shí)驗(yàn)證 XML 內(nèi)容。 factory.setValidating(true); //指定由此代碼生成的解析器將提供對(duì) XML 名稱空間的支持。 factory.setNamespaceAware(true); //使用當(dāng)前配置的工廠參數(shù)創(chuàng)建 SAXParser 的一個(gè)新實(shí)例。 SAXParser parser = factory.newSAXParser(); //創(chuàng)建一個(gè)讀取工具 SAXReader xmlReader = new SAXReader(); //獲取要校驗(yàn)xml文檔實(shí)例 Document xmlDocument = (Document) xmlReader.read(new File(xmlFileName)); //設(shè)置 XMLReader 的基礎(chǔ)實(shí)現(xiàn)中的特定屬性。核心功能和屬性列表可以在 http://sax.sourceforge.net/?selected=get-set 中找到。 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); //創(chuàng)建一個(gè)SAXValidator校驗(yàn)工具,并設(shè)置校驗(yàn)工具的屬性 SAXValidator validator = new SAXValidator(parser.getXMLReader()); //設(shè)置校驗(yàn)工具的錯(cuò)誤處理器,當(dāng)發(fā)生錯(cuò)誤時(shí),可以從處理器對(duì)象中得到錯(cuò)誤信息。 validator.setErrorHandler(errorHandler); //校驗(yàn) validator.validate(xmlDocument); XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint()); //如果錯(cuò)誤信息不為空,說(shuō)明校驗(yàn)失敗,打印錯(cuò)誤信息 if (errorHandler.getErrors().hasContent()) { System.out.println(/"XML文件通過(guò)XSD文件校驗(yàn)失敗!/"); writer.write(errorHandler.getErrors()); } else { System.out.println(/"Good! XML文件通過(guò)XSD文件校驗(yàn)成功!/"); } } catch (Exception ex) { System.out.println(/"XML文件: /" + xmlFileName + /" 通過(guò)XSD文件:/" + xsdFileName + /"檢驗(yàn)失敗。/n原因: /" + ex.getMessage ()); ex.printStackTrace(); } }
46.Grep
//import java.util.regex.*; //import java.io.*; /** * 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) { // 如果參數(shù)行沒(méi)有輸入?yún)?shù),結(jié)束程序 System.out.println ("Usage: regex file [ ... ]"); return; } Pattern pattern = Pattern.compile (argv [0]); // 第一個(gè)參數(shù)為需要匹配的字符串 Matcher matcher = pattern.matcher (""); // 一次讀取各個(gè)文件 for (int i = 1; i < argv.length; i++) { String file = argv [i]; // 第2個(gè)參數(shù)開始,均為文件名。 BufferedReader br = null; String line; try { br = new BufferedReader (new FileReader (file)); // 打開文件 } catch (IOException e) { // 沒(méi)有打開文件,則產(chǎn)生異常 System.err.println ("Cannot read '" + file + "': " + e.getMessage()); continue; } while ((line = br.readLine()) != null) { // 讀入一行,直到文件結(jié)束 matcher.reset (line); // 匹配字符串 if (matcher.find()) { // 如果有匹配的字符串,則輸出 System.out.println (file + ": " + line); } } br.close(); // 關(guān)閉文件 } }
47.直接創(chuàng)建多級(jí)目錄
//import java.io.*; File f=new File(%%1); f.mkdirs();
48.批量重命名
//import java.io.*; File target = new File("%%1"); String[] files = target.list(); File f = null; String filename = null; for (String file : files) { f = new File(fl, file); filename = f.getName(); if (filename.substring(filename.lastIndexOf (".")).equalsIgnoreCase( "%%2")) { f.renameTo(new File(target.getAbsolutePath(), filename.replace( "%%2", "%%3"))); // 這里可以反復(fù)使用replace替換,當(dāng)然也可以使用正則表達(dá)式來(lái) //替換了 ".txt" ".bat" } }
49.文本查找替換
//import java.nio.*; String s1=%%1; String s2=%%2; String s3=%%3; int pos=%%4; /*變量i和j分別表示主串和模式串中當(dāng)前字符串的位置,k表示匹配次數(shù)*/ int i,j,k=0; i = pos; j = 0; //將s1轉(zhuǎn)化成StringBuffer型進(jìn)行操作 repStr = new StringBuffer(s1); while(i<repStr.length()&&j<s2.length()) { if(repStr.charAt(i) == s2.charAt(j)) { ++i; ++j; if(j==s2.length()) { /*j=s2.length()表示字符串匹配成功,匹配次數(shù)加1,此外對(duì)主串進(jìn)行字符串替換*/ k = k+1; repStr.replace(i-j,i,s3); //將j進(jìn)行重新賦值開始新的比較 j = 0; } } else {i = i-j+1; j = 0;} } return k;
50.文件關(guān)聯(lián)
//import java.io.*; try { Runtime.getRuntime().exec(%%1); //"assoc .txt =mynote" "assoc [.ext[=[filetype]]]" } catch (IOException e) { e.printStackTrace(); }
52.設(shè)置JDK環(huán)境變量
@echo off IF EXIST %1/bin/java.exe ( rem 如輸入正確的 Java2SDK 安裝目錄,開始設(shè)置環(huán)境變量 @setx JAVA_HOME %1 @setx path %path%;%JAVA_HOME%/bin @setx classpath %classpath%;. @setx classpath %classpath%;%JAVA_HOME%/lib/tools.jar @setx classpath %classpath%;%JAVA_HOME%/lib/dt.jar @setx classpath %classpath%;%JAVA_HOME%/jre/lib/rt.jar @echo on @echo Java 2 SDK 環(huán)境參數(shù)設(shè)置完畢,正常退出。 ) ELSE ( IF "%1"=="" ( rem 如沒(méi)有提供安裝目錄,提示之后退出 @echo on @echo 沒(méi)有提供 Java2SDK 的安裝目錄,不做任何設(shè)置,現(xiàn)在退出環(huán)境變量設(shè)置。 ) ELSE ( rem 如果提供非空的安裝目錄但沒(méi)有bin/java.exe,則指定的目錄為錯(cuò)誤的目錄 @echo on @echo 非法的 Java2SDK 的安裝目錄,不做任何設(shè)置,現(xiàn)在退出環(huán)境變量設(shè)置。 ) ) //http://sourceforge.net/projects/jregistrykey/ //import ca.beq.util.win32.registry.*; //import java.util.*;
1.打開鍵
RegistryKey r = new RegistryKey(RootKey.HKEY_LOCAL_MACHINE, "SOFTWARE//Microsoft//Windows//CurrentVersion//Explorer//Shell Folders");
2.添加鍵
RegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, "Software//BEQ Technologies"); r.create();
3.寫入字符串值
RegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, "Software//BEQ Technologies"); RegistryValue v = new RegistryValue("myVal", ValueType.REG_SZ, "data"); r.setValue(v);
4.獲取DWORD值
RegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, "Software//BEQ Technologies"); if(r.hasValue("myValue")) { RegistryValue v = r.getValue("myValue"); v.setType(ValueType.REG_DWORD); } // if
53.選擇文件夾對(duì)話框
/* import java.io.*; import javax.swing.*; */ JFileChooser chooser = new JFileChooser(); chooser.setCurrentDirectory(new File(".")); chooser.setFileFilter(new javax.swing.filechooser.FileFilter() { public boolean accept(File f) { return f.getName().toLowerCase().endsWith(".gif") || f.isDirectory(); } public String getDescription() { return "GIF Images"; } }); int r = chooser.showOpenDialog(null); if (r == JFileChooser.APPROVE_OPTION) { String name = chooser.getSelectedFile().getPath(); // label.setIcon(new ImageIcon(name)); }
54.刪除空文件夾
//import java.io.*; File f=new File(%%1); if (isFolerNull(f)) { for (File file :f.listFiles()) { if (file.list().length == 0) { System.out.println(file.getPath()); file.delete(); } } }
55.發(fā)送數(shù)據(jù)到剪貼板
//import java.awt.*; //import java.awt.datatransfer.*; Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable tText = new StringSelection(%%1); clipboard.setContents(tText, null);
56.從剪貼板中取數(shù)據(jù)
//import java.awt.*; //import java.awt.datatransfer.*; // 取得系統(tǒng)剪貼板里可傳輸?shù)臄?shù)據(jù)構(gòu)造的Java對(duì)象 Transferable t = Toolkit.getDefaultToolkit() .getSystemClipboard().getContents(null); try { if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) { // 因?yàn)樵档募糍N板里有多種信息, 如文字, 圖片, 文件等 // 先判斷開始取得的可傳輸?shù)臄?shù)據(jù)是不是文字, 如果是, 取得這些文字 String s = (String) t .getTransferData(DataFlavor.stringFlavor); // 同樣, 因?yàn)門ransferable中的DataFlavor是多種類型的, // 所以傳入DataFlavor這個(gè)參數(shù), 指定要取得哪種類型的Data. System.out.println(s); } } catch (UnsupportedFlavorException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); }
57.獲取文件路徑的父路徑
58.創(chuàng)建快捷方式
//import java.io.*; try { PrintWriter pw=new PrintWriter(new FileOutputStream("C:/a.bat")); pw.println(%%1);"C:/a.txt" pw.close(); } catch(IOException e){ e.printStackTrace(); }
59.彈出快捷菜單
//MouseEvent e JPopupMenu jpm=new JPopupMenu(); show(jpm,x,y);
60.文件夾復(fù)制到整合操作
/* import java.io.*; import java.util.*; import javax.swing.*; */ JFileChooser Jfc = new JFileChooser("請(qǐng)選擇源路徑"); // 建立選擇檔案對(duì)話 //方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%1 = Jfc.getSelectedFile().getParent(); Jfc = new JFileChooser("請(qǐng)選擇目標(biāo)路徑"); // 建立選擇檔案對(duì)話方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%2 = Jfc.getSelectedFile().getParent(); LinkedList<String> folderList = new LinkedList<String>(); folderList.add(%%1); LinkedList<String> folderList2 = new LinkedList<String>(); folderList2.add(%%2+ %%1.substring(%%1.lastIndexOf("http://"))); while (folderList.size() > 0) { (new File(folderList2.peek())).mkdirs(); // 如果文件夾不存在 則建立新文件夾 File folders = new File(folderList.peek()); String[] file = folders.list(); File temp = null; try { for (int i = 0; i < file.length; i++) { if (folderList.peek().endsWith(File.separator)) { temp = new File(folderList.peek() + File.separator + file[i]); } else { temp = new File(folderList.peek() + File.separator + file[i]); } if (temp.isFile()) { FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream( folderList2.peek() + File.separator + (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()) {// 如果是子文件夾 for (File f : temp.listFiles()) { if (f.isDirectory()) { folderList.add(f.getPath()); folderList2.add(folderList2.peek() + File.separator + f.getName()); } } } } } catch (Exception e) { //System.out.println("復(fù)制整個(gè)文件夾內(nèi)容操作出錯(cuò)"); e.printStackTrace(); } folderList.removeFirst(); folderList2.removeFirst(); }
61.文件夾移動(dòng)到整合操作
/* import java.io.*; import java.util.*; import javax.swing.*; */ JFileChooser Jfc = new JFileChooser("請(qǐng)選擇源路徑"); // 建立選擇檔案對(duì)話 //方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%1 = Jfc.getSelectedFile().getParent(); Jfc = new JFileChooser("請(qǐng)選擇目標(biāo)路徑"); // 建立選擇檔案對(duì)話方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%2 = Jfc.getSelectedFile().getParent();
62.目錄下所有文件夾復(fù)制到整合操作
/* import java.io.*; import java.util.*; import javax.swing.*; */ JFileChooser Jfc = new JFileChooser("請(qǐng)選擇源路徑"); // 建立選擇檔案對(duì)話 //方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%1 = Jfc.getSelectedFile().getParent(); Jfc = new JFileChooser("請(qǐng)選擇目標(biāo)路徑"); // 建立選擇檔案對(duì)話方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%2 = Jfc.getSelectedFile().getParent();
63.目錄下所有文件夾移動(dòng)到整合操作
/* import java.io.*; import java.util.*; import javax.swing.*; */ JFileChooser Jfc = new JFileChooser("請(qǐng)選擇源路徑"); // 建立選擇檔案對(duì)話 //方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%1 = Jfc.getSelectedFile().getParent(); Jfc = new JFileChooser("請(qǐng)選擇目標(biāo)路徑"); // 建立選擇檔案對(duì)話方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%2 = Jfc.getSelectedFile().getParent();
64.目錄下所有文件復(fù)制到整合操作
/* import java.io.*; import java.util.*; import javax.swing.*; */ JFileChooser Jfc = new JFileChooser("請(qǐng)選擇源路徑"); // 建立選擇檔案對(duì)話 //方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%1 = Jfc.getSelectedFile().getParent(); Jfc = new JFileChooser("請(qǐng)選擇目標(biāo)路徑"); // 建立選擇檔案對(duì)話方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%2 = Jfc.getSelectedFile().getParent();
65.目錄下所有文件移動(dòng)到整合操作
/* import java.io.*; import java.util.*; import javax.swing.*; */ JFileChooser Jfc = new JFileChooser("請(qǐng)選擇源路徑"); // 建立選擇檔案對(duì)話 //方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%1 = Jfc.getSelectedFile().getParent(); Jfc = new JFileChooser("請(qǐng)選擇目標(biāo)路徑"); // 建立選擇檔案對(duì)話方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%2 = Jfc.getSelectedFile().getParent();
66.對(duì)目標(biāo)壓縮文件解壓縮到指定文件夾
/* import java.io.*; import java.util.*; import javax.swing.*; */
67.創(chuàng)建目錄副本整合操作
/* import java.io.*; import java.util.*; import javax.swing.*; */ JFileChooser Jfc = new JFileChooser("請(qǐng)選擇源路徑"); // 建立選擇檔案對(duì)話 方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%1 = Jfc.getSelectedFile().getParent(); Jfc = new JFileChooser("請(qǐng)選擇目標(biāo)路徑"); // 建立選擇檔案對(duì)話方塊盒 Jfc if (!Jfc.isFileSelectionEnabled()) { return; } String %%2 = Jfc.getSelectedFile().getParent();
68.打開網(wǎng)頁(yè)
//import java.io.*; try{ String command = "C://Program Files//Internet Explorer//Iexplore.exe "+%%1; Runtime.getRuntime().exec(command); } catch (IOException ex) { ex.printStackTrace(); }
69.刪除空文件夾整合操作
/* import java.io.*; import java.util.*; import javax.swing.*; */
70.獲取磁盤所有分區(qū)后再把光驅(qū)盤符去除(用"/0"代替),把結(jié)果放在數(shù)組allfenqu[] 中,數(shù)組中每
個(gè)元素代表一個(gè)分區(qū)盤符,不包括 :// 這樣的路徑,allfenqu[]數(shù)組開始時(shí)存放的是所有盤符。
當(dāng)我用這樣的代碼測(cè)試結(jié)果是正確的,光驅(qū)盤符會(huì)被去掉:
String root; //root代表盤符路徑 for(i=0;i<20;i++) //0-20代表最大的盤符數(shù) { root.Format("%c://",allfenqu[i]); if(GetDriveType(root)==5) allfenqu[i]='/0'; } 但我用這樣的代碼時(shí)結(jié)果卻無(wú)法去掉光驅(qū)盤符,allfenqu[]中還是會(huì)包含光驅(qū)盤符: String root; for(i=0;i<20;i++) { root=allfenqu[i]+"://"; if(GetDriveType(root)==5) allfenqu[i]='/0'; }
71.激活一個(gè)程序或程序關(guān)聯(lián)的文件
//import java.io.*; try { Runtime.getRuntime().exec(%%1); } catch (IOException e) { e.printStackTrace(); }
72.HTTP下載
public class DownloadCSVFileAction extends Action{ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { try { String fileName = request.getParameter( "fileName "); long maID = Long.parseLong(request.getParameter( "maID ")); String filePath = request.getSession().getServletContext ().getRealPath( "/ ")+ "csv/ "+maID+ "/ "+fileName; File fdown = new File(filePath); int filelength = Integer.parseInt(String.valueOf (fdown.length())); //下載類型 response.setContentType( "application/text;charset=GB2312 "); response.setHeader( "Content-Dispositon ", "attachment;filename= 銷售詳細(xì)記錄.csv "); //銷售詳細(xì)記錄.csv是我想要的下載文件的文件名,但是下載對(duì)話框中顯 示的是 downLoadCSVFile.do response.setContentLength(filelength); byte b[]=new byte[filelength]; FileInputStream fi=new FileInputStream(fdown); OutputStream o=response.getOutputStream(); int n = 0; while((n=fi.read(b))!=-1) { o.write(b,0,n); } fi.close(); o.close(); return null; }catch (Exception e) { request.setAttribute( "ERROR ", e); return mapping.findForward( "error "); } } }
對(duì)應(yīng)的下載類型
private String getContentType(String fileName) { String fileNameTmp = fileName.toLowerCase(); String ret = ""; if (fileNameTmp.endsWith("txt")) { ret = "text/plain"; } if (fileNameTmp.endsWith("gif")) { ret = "image/gif"; } if (fileNameTmp.endsWith("jpg")) { ret = "image/jpeg"; } if (fileNameTmp.endsWith("jpeg")) { ret = "image/jpeg"; } if (fileNameTmp.endsWith("jpe")) { ret = "image/jpeg"; } if (fileNameTmp.endsWith("zip")) { ret = "application/zip"; } if (fileNameTmp.endsWith("rar")) { ret = "application/rar"; } if (fileNameTmp.endsWith("doc")) { ret = "application/msword"; } if (fileNameTmp.endsWith("ppt")) { ret = "application/vnd.ms-powerpoint"; } if (fileNameTmp.endsWith("xls")) { ret = "application/vnd.ms-excel"; } if (fileNameTmp.endsWith("html")) { ret = "text/html"; } if (fileNameTmp.endsWith("htm")) { ret = "text/html"; } if (fileNameTmp.endsWith("tif")) { ret = "image/tiff"; } if (fileNameTmp.endsWith("tiff")) { ret = "image/tiff"; } if (fileNameTmp.endsWith("pdf")) { ret = "application/pdf"; } return ret; }
73.FTP下載
/* import sun.net.ftp.FtpClient; import java.io.*; import sun.net.*; */ //如果文件在某個(gè)目錄下,則加入fc.cd("foodir"); //比如要下載ftp://ftp.xx.com/index.html則: try { FtpClient fc=new FtpClient("ftp.xx.com"); fc.login("username","888888"); int ch; File fi = new File("c://index.html"); RandomAccessFile getFile = new RandomAccessFile(fi,"rw"); getFile.seek(0); TelnetInputStream fget=fc.get("index.html"); DataInputStream puts = new DataInputStream(fget); while ((ch = puts.read()) >= 0) { getFile.write(ch); } fget.close(); getFile.close(); fc.closeServer(); } catch (IOException ex) { ex.printStackTrace(); }
74.寫圖像到剪切板 setClipboardImage
/* import java.awt.*; import java.awt.datatransfer.*; import java.io.*; */ private final Image image; Transferable trans = new Transferable() { public DataFlavor[] getTransferDataFlavors() { return new DataFlavor[] { DataFlavor.imageFlavor }; } public boolean isDataFlavorSupported(DataFlavor flavor) { return DataFlavor.imageFlavor.equals(flavor); } public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { if (isDataFlavorSupported(flavor)) return image; throw new UnsupportedFlavorException(flavor); } }; Toolkit.getDefaultToolkit().getSystemClipboard().setContents(trans, null);
75.從剪貼板復(fù)制圖像到窗體
76.刪除文件夾下的所有文件且不刪除文件夾下的文件夾
//import java.io.*; //import java.util.*; LinkedList<String> folderList = new LinkedList<String>(); folderList.add(%%1); while (folderList.size() > 0) { File file = new File(folderList.peek()); folderList.removeLast(); 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(); } }
希望本文所述對(duì)大家Java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Java并發(fā)編程之JUC并發(fā)核心AQS同步隊(duì)列原理剖析
AbstractQueuedSynchronizer 簡(jiǎn)稱 AQS,可能我們幾乎不會(huì)直接去使用它,但它卻是 JUC 的核心基礎(chǔ)組件,支撐著 java 鎖和同步器的實(shí)現(xiàn),大神 Doug Lea 在設(shè)計(jì) JUC 包時(shí)希望能夠抽象一個(gè)基礎(chǔ)且通用的組件以支撐上層模塊的實(shí)現(xiàn),AQS 應(yīng)運(yùn)而生2021-09-09Java基礎(chǔ)知識(shí)精通各種運(yùn)算符
計(jì)算機(jī)的最基本用途之一就是執(zhí)行數(shù)學(xué)運(yùn)算,作為一門計(jì)算機(jī)語(yǔ)言,Java也提供了一套豐富的運(yùn)算符來(lái)操縱變量,本篇對(duì)大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下2022-04-04MyBatis?@Select注解介紹:基本用法與動(dòng)態(tài)SQL拼寫方式
這篇文章主要介紹了MyBatis?@Select注解介紹:基本用法與動(dòng)態(tài)SQL拼寫方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Android應(yīng)用開發(fā)之將SQLite和APK一起打包的方法
這篇文章主要介紹了Android應(yīng)用開發(fā)之將SQLite和APK一起打包的方法,文章時(shí)間較早,盡管現(xiàn)在開發(fā)環(huán)境已大都遷移至Android Studio上,但打包原理依然相同,需要的朋友可以參考下2015-08-08Java網(wǎng)絡(luò)編程基礎(chǔ)用法詳解
網(wǎng)絡(luò)編程是指編寫運(yùn)行在多個(gè)設(shè)備(計(jì)算機(jī))的程序,這些設(shè)備都通過(guò)網(wǎng)絡(luò)連接起來(lái),本文將帶大家詳細(xì)了解Java的網(wǎng)絡(luò)編程,文中有相關(guān)的代碼示例,需要的朋友可以參考下2023-05-05Deepin系統(tǒng)安裝eclipse2021-03及CDT插件的安裝教程
本教程教大家deepin20.1操作系統(tǒng)上安裝eclipse_2021-03版的詳細(xì)步驟及CDT插件的安裝方法,通過(guò)圖文展示的非常明了,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-06-06hibernate通過(guò)session實(shí)現(xiàn)增刪改查操作實(shí)例解析
這篇文章主要介紹了hibernate通過(guò)session實(shí)現(xiàn)增刪改查操作實(shí)例解析,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12java web實(shí)現(xiàn)簡(jiǎn)單留言板功能
這篇文章主要為大家詳細(xì)介紹了java web實(shí)現(xiàn)簡(jiǎn)單留言板功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11