dip转px
[java] view plain copy print ?
- public int convertDipOrPx(int dip) {
- float scale = MarketApplication.getMarketApplicationContext()
- .getResources().getDisplayMetrics().density;
- return (int) (dip * scale + 0.5f * (dip >= 0 ? 1 : -1));
- }
public int convertDipOrPx(int dip) {
float scale = MarketApplication.getMarketApplicationContext()
.getResources().getDisplayMetrics().density;
return (int) (dip * scale + 0.5f * (dip >= 0 ? 1 : -1));
}
获取当前窗体,并添加自定义view:
[java] view plain copy print ?
- getWindowManager()
- .addView(
- overlay,
- new WindowManager.LayoutParams(
- LayoutParams.WRAP_CONTENT,
- LayoutParams.WRAP_CONTENT,
- WindowManager.LayoutParams.TYPE_APPLICATION,
- WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
- | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
- PixelFormat.TRANSLUCENT));
getWindowManager()
.addView(
overlay,
new WindowManager.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
PixelFormat.TRANSLUCENT));
自定义fastScrollBar图片样式:
[java] view plain copy print ?
- try {
- Field f = AbsListView.class.getDeclaredField("mFastScroller");
- f.setAccessible(true);
- Object o = f.get(listView);
- f = f.getType().getDeclaredField("mThumbDrawable");
- f.setAccessible(true);
- Drawable drawable = (Drawable) f.get(o);
- drawable = getResources().getDrawable(R.drawable.ic_launcher);
- f.set(o, drawable);
- Toast.makeText(this, f.getType().getName(), 1000).show();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
try {
Field f = AbsListView.class.getDeclaredField("mFastScroller");
f.setAccessible(true);
Object o = f.get(listView);
f = f.getType().getDeclaredField("mThumbDrawable");
f.setAccessible(true);
Drawable drawable = (Drawable) f.get(o);
drawable = getResources().getDrawable(R.drawable.ic_launcher);
f.set(o, drawable);
Toast.makeText(this, f.getType().getName(), 1000).show();
} catch (Exception e) {
throw new RuntimeException(e);
}
=网络==================================
判断网络是否可用:
[java] view plain copy print ?
-
-
-
-
-
-
- public static boolean isNetworkAvailable(Context context) {
- ConnectivityManager mgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo[] info = mgr.getAllNetworkInfo();
- if (info != null) {
- for (int i = 0; i < info.length; i++) {
- if (info[i].getState() == NetworkInfo.State.CONNECTED) {
- return true;
- }
- }
- }
- return false;
- }
/**
* 网络是否可用
*
* @param context
* @return
*/
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager mgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] info = mgr.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
return false;
}
方法二:
[java] view plain copy print ?
-
-
-
- public static boolean isConn(Context context) {
- boolean bisConnFlag = false;
- ConnectivityManager conManager = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo network = conManager.getActiveNetworkInfo();
- if (network != null) {
- bisConnFlag = conManager.getActiveNetworkInfo().isAvailable();
- }
- return bisConnFlag;
- }
/*
* 判断网络连接是否已开 2012-08-20true 已打开 false 未打开
*/
public static boolean isConn(Context context) {
boolean bisConnFlag = false;
ConnectivityManager conManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo network = conManager.getActiveNetworkInfo();
if (network != null) {
bisConnFlag = conManager.getActiveNetworkInfo().isAvailable();
}
return bisConnFlag;
}
判断是不是Wifi连接:
[java] view plain copy print ?
- public static boolean isWifiActive(Context icontext) {
- Context context = icontext.getApplicationContext();
- ConnectivityManager connectivity = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo[] info;
- if (connectivity != null) {
- info = connectivity.getAllNetworkInfo();
- if (info != null) {
- for (int i = 0; i < info.length; i++) {
- if (info[i].getTypeName().equals("WIFI")
- && info[i].isConnected()) {
- return true;
- }
- }
- }
- }
- return false;
- }
public static boolean isWifiActive(Context icontext) {
Context context = icontext.getApplicationContext();
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] info;
if (connectivity != null) {
info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getTypeName().equals("WIFI")
&& info[i].isConnected()) {
return true;
}
}
}
}
return false;
}
判断当前网络类型
[java] view plain copy print ?
-
-
-
- private static int netCheck(Context context) {
- ConnectivityManager conMan = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
- .getState();
- State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
- .getState();
- if (wifi.equals(State.CONNECTED)) {
- return DO_WIFI;
- } else if (mobile.equals(State.CONNECTED)) {
- return DO_3G;
- } else {
- return NO_CONNECTION;
- }
- }
/**
* 网络方式检查
*/
private static int netCheck(Context context) {
ConnectivityManager conMan = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
.getState();
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
.getState();
if (wifi.equals(State.CONNECTED)) {
return DO_WIFI;
} else if (mobile.equals(State.CONNECTED)) {
return DO_3G;
} else {
return NO_CONNECTION;
}
}
获取下载文件的真实名字
[java] view plain copy print ?
- public String getReallyFileName(String url) {
- StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
- .detectDiskReads().detectDiskWrites().detectNetwork()
-
- .penaltyLog()
- .build());
- StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
- .detectLeakedSqlLiteObjects()
- .penaltyLog()
- .penaltyDeath().build());
-
- String filename = "";
- URL myURL;
- HttpURLConnection conn = null;
- if (url == null || url.length() < 1) {
- return null;
- }
-
- try {
- myURL = new URL(url);
- conn = (HttpURLConnection) myURL.openConnection();
- conn.connect();
- conn.getResponseCode();
- URL absUrl = conn.getURL();
-
-
-
-
-
-
-
- filename = conn.getHeaderField("Content-Disposition");
- if (filename == null || filename.length() < 1) {
- filename = URLDecoder.decode(absUrl.getFile(), "UTF-8");
- }
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- if (conn != null) {
- conn.disconnect();
- conn = null;
- }
- }
-
- return filename;
- }
public String getReallyFileName(String url) {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads().detectDiskWrites().detectNetwork() // 这里可以替换为detectAll()
// 就包括了磁盘读写和网络I/O
.penaltyLog() // 打印logcat,当然也可以定位到dropbox,通过文件保存相应的log
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects() // 探测SQLite数据库操作
.penaltyLog() // 打印logcat
.penaltyDeath().build());
String filename = "";
URL myURL;
HttpURLConnection conn = null;
if (url == null || url.length() < 1) {
return null;
}
try {
myURL = new URL(url);
conn = (HttpURLConnection) myURL.openConnection();
conn.connect();
conn.getResponseCode();
URL absUrl = conn.getURL();// 获得真实Url
// 打印输出服务器Header信息
// Map<String, List<String>> map = conn.getHeaderFields();
// for (String str : map.keySet()) {
// if (str != null) {
// Log.e("H3c", str + map.get(str));
// }
// }
filename = conn.getHeaderField("Content-Disposition");// 通过Content-Disposition获取文件名,这点跟服务器有关,需要灵活变通
if (filename == null || filename.length() < 1) {
filename = URLDecoder.decode(absUrl.getFile(), "UTF-8");
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (conn != null) {
conn.disconnect();
conn = null;
}
}
return filename;
}
=图片==========================
bitmap转Byte数组(微信分享就需要用到)
[java] view plain copy print ?
- public byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) {
- ByteArrayOutputStream output = new ByteArrayOutputStream();
- bmp.compress(CompressFormat.PNG, 100, output);
- if (needRecycle) {
- bmp.recycle();
- }
-
- byte[] result = output.toByteArray();
- try {
- output.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- return result;
- }
public byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) {
ByteArrayOutputStream output = new ByteArrayOutputStream();
bmp.compress(CompressFormat.PNG, 100, output);
if (needRecycle) {
bmp.recycle();
}
byte[] result = output.toByteArray();
try {
output.close();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
Resources转Bitmap
[java] view plain copy print ?
- public Bitmap loadBitmap(Resources res, int id) {
- BitmapFactory.Options opt = new BitmapFactory.Options();
- opt.inPreferredConfig = Bitmap.Config.RGB_565;
- opt.inPurgeable = true;
- opt.inInputShareable = true;
-
- InputStream is = res.openRawResource(id);
- return BitmapFactory.decodeStream(is, null, opt);
- }
public Bitmap loadBitmap(Resources res, int id) {
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
opt.inPurgeable = true;
opt.inInputShareable = true;
InputStream is = res.openRawResource(id);// 获取资源图片
return BitmapFactory.decodeStream(is, null, opt);
}
保存图片到SD卡
[java] view plain copy print ?
- public void saveBitmapToFile(String url, String filePath) {
- File iconFile = new File(filePath);
- if (!iconFile.getParentFile().exists()) {
- iconFile.getParentFile().mkdirs();
- }
-
- if (iconFile.exists() && iconFile.length() > 0) {
- return;
- }
-
- FileOutputStream fos = null;
- InputStream is = null;
- try {
- fos = new FileOutputStream(filePath);
- is = new URL(url).openStream();
-
- int data = is.read();
- while (data != -1) {
- fos.write(data);
- data = is.read();
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- if (is != null) {
- is.close();
- }
- if (fos != null) {
- fos.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
public void saveBitmapToFile(String url, String filePath) {
File iconFile = new File(filePath);
if (!iconFile.getParentFile().exists()) {
iconFile.getParentFile().mkdirs();
}
if (iconFile.exists() && iconFile.length() > 0) {
return;
}
FileOutputStream fos = null;
InputStream is = null;
try {
fos = new FileOutputStream(filePath);
is = new URL(url).openStream();
int data = is.read();
while (data != -1) {
fos.write(data);
data = is.read();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (is != null) {
is.close();
}
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
=系统==============================
根据包名打开一个应用程序
[java] view plain copy print ?
- public boolean openApp(String packageName) {
- PackageInfo pi = null;
- try {
- pi = mPM.getPackageInfo(packageName, 0);
- } catch (NameNotFoundException e) {
- e.printStackTrace();
- return false;
- }
-
- if (pi == null) {
- return false;
- }
-
- Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
- resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
- resolveIntent.setPackage(pi.packageName);
-
- List<ResolveInfo> apps = mPM.queryIntentActivities(resolveIntent, 0);
-
- ResolveInfo ri = null;
- try {
- ri = apps.iterator().next();
- } catch (Exception e) {
- return true;
- }
- if (ri != null) {
- String tmpPackageName = ri.activityInfo.packageName;
- String className = ri.activityInfo.name;
-
- Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.addCategory(Intent.CATEGORY_LAUNCHER);
-
- ComponentName cn = new ComponentName(tmpPackageName, className);
-
- intent.setComponent(cn);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- MarketApplication.getMarketApplicationContext().startActivity(
- intent);
- } else {
- return false;
- }
- return true;
- }
public boolean openApp(String packageName) {
PackageInfo pi = null;
try {
pi = mPM.getPackageInfo(packageName, 0);
} catch (NameNotFoundException e) {
e.printStackTrace();
return false;
}
if (pi == null) {
return false;
}
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(pi.packageName);
List<ResolveInfo> apps = mPM.queryIntentActivities(resolveIntent, 0);
ResolveInfo ri = null;
try {
ri = apps.iterator().next();
} catch (Exception e) {
return true;
}
if (ri != null) {
String tmpPackageName = ri.activityInfo.packageName;
String className = ri.activityInfo.name;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName(tmpPackageName, className);
intent.setComponent(cn);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MarketApplication.getMarketApplicationContext().startActivity(
intent);
} else {
return false;
}
return true;
}
判断是否APK是否安装过
[java] view plain copy print ?
- public boolean checkApkExist(Context context, String packageName) {
- if (packageName == null || "".equals(packageName))
- return false;
- try {
- ApplicationInfo info = context.getPackageManager()
- .getApplicationInfo(packageName,
- PackageManager.GET_UNINSTALLED_PACKAGES);
- return true;
- } catch (NameNotFoundException e) {
- return false;
- } catch (NullPointerException e) {
- return false;
- }
- }
public boolean checkApkExist(Context context, String packageName) {
if (packageName == null || "".equals(packageName))
return false;
try {
ApplicationInfo info = context.getPackageManager()
.getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (NameNotFoundException e) {
return false;
} catch (NullPointerException e) {
return false;
}
}
安装APK
[java] view plain copy print ?
- public void installApk(Context context, String strFileAllName) {
- File file = new File(strFileAllName);
- Intent intent = new Intent();
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.setAction(Intent.ACTION_VIEW);
- String type = "application/vnd.android.package-archive";
- intent.setDataAndType(Uri.fromFile(file), type);
- context.startActivity(intent);
- }
public void installApk(Context context, String strFileAllName) {
File file = new File(strFileAllName);
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_VIEW);
String type = "application/vnd.android.package-archive";
intent.setDataAndType(Uri.fromFile(file), type);
context.startActivity(intent);
}
卸载APK
[java] view plain copy print ?
- public void UninstallApk(Context context, String strPackageName) {
- Uri packageURI = Uri.parse("package:" + strPackageName);
- Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
- context.startActivity(uninstallIntent);
- }
public void UninstallApk(Context context, String strPackageName) {
Uri packageURI = Uri.parse("package:" + strPackageName);
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
context.startActivity(uninstallIntent);
}
判断SD卡是否可用
[java] view plain copy print ?
- public boolean CheckSD() {
- if (android.os.Environment.getExternalStorageState().equals(
- android.os.Environment.MEDIA_MOUNTED)) {
- return true;
- } else {
- return false;
- }
- }
public boolean CheckSD() {
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
return true;
} else {
return false;
}
}
创建快捷方式:
[java] view plain copy print ?
- public void createShortCut(Context contxt) {
-
-
-
-
- Intent sIntent = new Intent(Intent.ACTION_MAIN);
- sIntent.addCategory(Intent.CATEGORY_LAUNCHER);
- sIntent.setClass(contxt, Login.class);
-
- Intent installer = new Intent();
- installer.putExtra("duplicate", false);
- installer.putExtra("android.intent.extra.shortcut.INTENT", sIntent);
- installer.putExtra("android.intent.extra.shortcut.NAME", "名字");
- installer.putExtra("android.intent.extra.shortcut.ICON_RESOURCE",
- Intent.ShortcutIconResource
- .fromContext(contxt, R.drawable.icon));
- installer.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
- contxt.sendBroadcast(installer);
- }
public void createShortCut(Context contxt) {
// if (isInstallShortcut()) {// 如果已经创建了一次就不会再创建了
// return;
// }
Intent sIntent = new Intent(Intent.ACTION_MAIN);
sIntent.addCategory(Intent.CATEGORY_LAUNCHER);// 加入action,和category之后,程序卸载的时候才会主动将该快捷方式也卸载
sIntent.setClass(contxt, Login.class);
Intent installer = new Intent();
installer.putExtra("duplicate", false);
installer.putExtra("android.intent.extra.shortcut.INTENT", sIntent);
installer.putExtra("android.intent.extra.shortcut.NAME", "名字");
installer.putExtra("android.intent.extra.shortcut.ICON_RESOURCE",
Intent.ShortcutIconResource
.fromContext(contxt, R.drawable.icon));
installer.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
contxt.sendBroadcast(installer);
}
判断快捷方式是否创建:
[java] view plain copy print ?
- private boolean isInstallShortcut() {
- boolean isInstallShortcut = false;
- final ContentResolver cr = MarketApplication
- .getMarketApplicationContext().getContentResolver();
- String AUTHORITY = "com.android.launcher.settings";
- Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY
- + "/favorites?notify=true");
-
- Cursor c = cr.query(CONTENT_URI,
- new String[] { "title", "iconResource" }, "title=?",
- new String[] { "名字" }, null);
- if (c != null && c.getCount() > 0) {
- isInstallShortcut = true;
- }
-
- if (c != null) {
- c.close();
- }
-
- if (isInstallShortcut) {
- return isInstallShortcut;
- }
-
- AUTHORITY = "com.android.launcher2.settings";
- CONTENT_URI = Uri.parse("content://" + AUTHORITY
- + "/favorites?notify=true");
- c = cr.query(CONTENT_URI, new String[] { "title", "iconResource" },
- "title=?", new String[] { "名字" }, null);
- if (c != null && c.getCount() > 0) {
- isInstallShortcut = true;
- }
-
- if (c != null) {
- c.close();
- }
-
- AUTHORITY = "com.baidu.launcher";
- CONTENT_URI = Uri.parse("content://" + AUTHORITY
- + "/favorites?notify=true");
- c = cr.query(CONTENT_URI, new String[] { "title", "iconResource" },
- "title=?", new String[] { "名字" }, null);
- if (c != null && c.getCount() > 0) {
- isInstallShortcut = true;
- }
-
- if (c != null) {
- c.close();
- }
-
- return isInstallShortcut;
- }
private boolean isInstallShortcut() {
boolean isInstallShortcut = false;
final ContentResolver cr = MarketApplication
.getMarketApplicationContext().getContentResolver();
String AUTHORITY = "com.android.launcher.settings";
Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY
+ "/favorites?notify=true");
Cursor c = cr.query(CONTENT_URI,
new String[] { "title", "iconResource" }, "title=?",
new String[] { "名字" }, null);
if (c != null && c.getCount() > 0) {
isInstallShortcut = true;
}
if (c != null) {
c.close();
}
if (isInstallShortcut) {
return isInstallShortcut;
}
AUTHORITY = "com.android.launcher2.settings";
CONTENT_URI = Uri.parse("content://" + AUTHORITY
+ "/favorites?notify=true");
c = cr.query(CONTENT_URI, new String[] { "title", "iconResource" },
"title=?", new String[] { "名字" }, null);
if (c != null && c.getCount() > 0) {
isInstallShortcut = true;
}
if (c != null) {
c.close();
}
AUTHORITY = "com.baidu.launcher";
CONTENT_URI = Uri.parse("content://" + AUTHORITY
+ "/favorites?notify=true");
c = cr.query(CONTENT_URI, new String[] { "title", "iconResource" },
"title=?", new String[] { "名字" }, null);
if (c != null && c.getCount() > 0) {
isInstallShortcut = true;
}
if (c != null) {
c.close();
}
return isInstallShortcut;
}
过滤特殊字符:
[java] view plain copy print ?
- private String StringFilter(String str) throws PatternSyntaxException {
-
-
-
- String regEx = "[`~!@#$%^&*()+=|{}':;',//[//].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
- Pattern p = Pattern.compile(regEx);
- Matcher m = p.matcher(str);
- return m.replaceAll("").trim();
- }
private String StringFilter(String str) throws PatternSyntaxException {
// 只允许字母和数字
// String regEx = "[^a-zA-Z0-9]";
// 清除掉所有特殊字符
String regEx = "[`~!@#$%^&*()+=|{}':;',//[//].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
执行shell语句:
[java] view plain copy print ?
- public int execRootCmdSilent(String cmd) {
- int result = -1;
- DataOutputStream dos = null;
-
- try {
- Process p = Runtime.getRuntime().exec("su");
- dos = new DataOutputStream(p.getOutputStream());
- dos.writeBytes(cmd + "\n");
- dos.flush();
- dos.writeBytes("exit\n");
- dos.flush();
- p.waitFor();
- result = p.exitValue();
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (dos != null) {
- try {
- dos.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- return result;
- }
public int execRootCmdSilent(String cmd) {
int result = -1;
DataOutputStream dos = null;
try {
Process p = Runtime.getRuntime().exec("su");
dos = new DataOutputStream(p.getOutputStream());
dos.writeBytes(cmd + "\n");
dos.flush();
dos.writeBytes("exit\n");
dos.flush();
p.waitFor();
result = p.exitValue();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (dos != null) {
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
获得文件MD5值:
[java] view plain copy print ?
- public String getFileMD5(File file) {
- if (!file.isFile()) {
- return null;
- }
-
- MessageDigest digest = null;
- FileInputStream in = null;
- byte buffer[] = new byte[1024];
- int len;
- try {
- digest = MessageDigest.getInstance("MD5");
- in = new FileInputStream(file);
- while ((len = in.read(buffer, 0, 1024)) != -1) {
- digest.update(buffer, 0, len);
- }
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- BigInteger bigInt = new BigInteger(1, digest.digest());
- return bigInt.toString(16);
- }