49.文本查找替換
//import java.nio.*;
String s1=%%1;
String s2=%%2;
String s3=%%3;
int pos=%%4;
/*變量i和j分別表示主串和模式串中當前字符串的位置,k表示匹配次數*/
int i,j,k=0;
i = pos;
j = 0;
//將s1轉化成StringBuffer型進行操作
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()表示字符串匹配成功,匹配次數加1,此外對主串進行字符串替換*/
k = k+1;
repStr.replace(i-j,i,s3);
//將j進行重新賦值開始新的比較
j = 0;
}
}
else {i = i-j+1; j = 0;}
}
return k;
50.文件關聯
//import java.io.*;
try {
Runtime.getRuntime().exec(%%1); //"assoc .txt =mynote" "assoc [.ext[=[filetype]]]"
} catch (IOException e) {
e.printStackTrace();
}
52.設置JDK環境變量
@echo off
IF EXIST %1/bin/java.exe (
rem 如輸入正確的 Java2SDK 安裝目錄,開始設置環境變量
@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 環境參數設置完畢,正常退出。
) ELSE (
IF "%1"=="" (
rem 如沒有提供安裝目錄,提示之後退出
@echo on
@echo 沒有提供 Java2SDK 的安裝目錄,不做任何設置,現在退出環境變量設置。
) ELSE (
rem 如果提供非空的安裝目錄但沒有bin/java.exe,則指定的目錄爲錯誤的目錄
@echo on
@echo 非法的 Java2SDK 的安裝目錄,不做任何設置,現在退出環境變量設置。
)
)
//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();
9.寫入字符串值
RegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, "Software//BEQ Technologies");
RegistryValue v = new RegistryValue("myVal", ValueType.REG_SZ, "data");
r.setValue(v);
6.獲取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.選擇文件夾對話框
/*
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.發送數據到剪貼板
//import java.awt.*;
//import java.awt.datatransfer.*;
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable tText = new StringSelection(%%1);
clipboard.setContents(tText, null);
56.從剪貼板中取數據
//import java.awt.*;
//import java.awt.datatransfer.*;
// 取得系統剪貼板裏可傳輸的數據構造的Java對象
Transferable t = Toolkit.getDefaultToolkit()
.getSystemClipboard().getContents(null);
try {
if (t != null
&& t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
// 因爲原系的剪貼板裏有多種信息, 如文字, 圖片, 文件等
// 先判斷開始取得的可傳輸的數據是不是文字, 如果是, 取得這些文字
String s = (String) t
.getTransferData(DataFlavor.stringFlavor);
// 同樣, 因爲Transferable中的DataFlavor是多種類型的,
// 所以傳入DataFlavor這個參數, 指定要取得哪種類型的Data.
System.out.println(s);
}
} catch (UnsupportedFlavorException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
57.獲取文件路徑的父路徑
String %%2=%%1.substring(0,%%1.lastIndexOf("//"));
58.創建快捷方式
//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.文件夾複製到整合操作
/*
import java.io.*;
import java.util.*;
import javax.swing.*;
*/
JFileChooser Jfc = new JFileChooser("請選擇源路徑"); // 建立選擇檔案對話
方塊盒 Jfc
if (!Jfc.isFileSelectionEnabled()) {
return;
}
String %%1 = Jfc.getSelectedFile().getParent();
Jfc = new JFileChooser("請選擇目標路徑"); // 建立選擇檔案對話方塊盒 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("//")));
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("複製整個文件夾內容操作出錯");
e.printStackTrace();
}
folderList.removeFirst();
folderList2.removeFirst();
}
Java文件操作大全(八)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.