1.濡備綍鑾峰緱褰撳墠鏂囦歡璺緞
甯哥敤錛?/font>
瀛楃涓茬被鍨嬶細(xì)System.getProperty("user.dir");
緇煎悎錛?/font>
package com.zcjl.test.base;
import java.io.File;
public class Test {
public static void main(String[] args) throws Exception {
System.out.println(
Thread.currentThread().getContextClassLoader().getResource(""));
System.out.println(Test.class.getClassLoader().getResource(""));
System.out.println(ClassLoader.getSystemResource(""));
System.out.println(Test.class.getResource(""));
System.out.println(Test.class.getResource("/"));
System.out.println(new File("").getAbsolutePath());
System.out.println(System.getProperty("user.dir"));
}
}
2.Web鏈嶅姟涓?/font>
(1).Weblogic
WebApplication鐨勭郴緇熸枃浠舵牴鐩綍鏄綘鐨剋eblogic瀹夎鎵鍦ㄦ牴鐩綍銆?br>渚嬪錛氬鏋滀綘鐨剋eblogic瀹夎鍦╟:\bea\weblogic700.....
閭d箞錛屼綘鐨勬枃浠舵牴璺緞灝辨槸c:\.
鎵浠ワ紝鏈変袱縐嶆柟寮忚兘澶熻浣犺闂綘鐨勬湇鍔″櫒绔殑鏂囦歡錛?br>a.浣跨敤緇濆璺緞錛?br>姣斿灝嗕綘鐨勫弬鏁版枃浠舵斁鍦╟:\yourconfig\yourconf.properties錛?br>鐩存帴浣跨敤 new FileInputStream("yourconfig/yourconf.properties");
b.浣跨敤鐩稿璺緞錛?br>鐩稿璺緞鐨勬牴鐩綍灝辨槸浣犵殑webapplication鐨勬牴璺緞錛屽嵆WEB-INF鐨勪笂涓綰х洰褰曪紝灝嗕綘鐨勫弬鏁版枃浠舵斁鍦▂ourwebapp\yourconfig\yourconf.properties錛?br>榪欐牱浣跨敤錛?br>new FileInputStream("./yourconfig/yourconf.properties");
榪欎袱縐嶆柟寮忓潎鍙紝鑷繁閫夋嫨銆?/font>
(2).Tomcat
鍦ㄧ被涓緭鍑篠ystem.getProperty("user.dir");鏄劇ず鐨勬槸%Tomcat_Home%/bin
(3).Resin
涓嶆槸浣犵殑JSP鏀劇殑鐩稿璺緞,鏄疛SP寮曟搸鎵ц榪欎釜JSP緙栬瘧鎴怱ERVLET
鐨勮礬寰勪負(fù)鏍?姣斿鐢ㄦ柊寤烘枃浠舵硶嫻嬭瘯File f = new File("a.htm");
榪欎釜a.htm鍦╮esin鐨勫畨瑁呯洰褰曚笅
(4).濡備綍璇葷浉瀵硅礬寰勫摢錛?/font>
鍦↗ava鏂囦歡涓璯etResource鎴杇etResourceAsStream鍧囧彲
渚嬶細(xì)getClass().getResourceAsStream(filePath);//filePath鍙互鏄?/filename",榪欓噷鐨?浠h〃web鍙戝竷鏍硅礬寰勪笅WEB-INF/classes
(5).鑾峰緱鏂囦歡鐪熷疄璺緞
string file_real_path=request.getRealPath("mypath/filename");
閫氬父浣跨敤request.getRealPath("/");
3.鏂囦歡鎿嶄綔鐨勭被
import java.io.*;
import java.net.*;
import java.util.*;
//import javax.swing.filechooser.*;
//import org.jr.swing.filter.*;
/**
* 姝ょ被涓皝瑁呬竴浜涘父鐢ㄧ殑鏂囦歡鎿嶄綔銆?br>* 鎵鏈夋柟娉曢兘鏄潤鎬佹柟娉曪紝涓嶉渶瑕佺敓鎴愭綾葷殑瀹炰緥錛?br>* 涓洪伩鍏嶇敓鎴愭綾葷殑瀹炰緥錛屾瀯閫犳柟娉曡鐢蟲槑涓簆rivate綾誨瀷鐨勩?br>* @since 0.1
*/
public class FileUtil {
/**
* 縐佹湁鏋勯犳柟娉曪紝闃叉綾葷殑瀹炰緥鍖栵紝鍥犱負(fù)宸ュ叿綾諱笉闇瑕佸疄渚嬪寲銆?br> */
private FileUtil() {
}
/**
* 淇敼鏂囦歡鐨勬渶鍚庤闂椂闂淬?br> * 濡傛灉鏂囦歡涓嶅瓨鍦ㄥ垯鍒涘緩璇ユ枃浠躲?br> * <b>鐩墠榪欎釜鏂規(guī)硶鐨勮涓烘柟寮忚繕涓嶇ǔ瀹氾紝涓昏鏄柟娉曟湁浜涗俊鎭緭鍑猴紝榪欎簺淇℃伅杈撳嚭鏄惁淇濈暀榪樺湪鑰?/font>
铏戜腑銆?lt;/b>
* @param file 闇瑕佷慨鏀規(guī)渶鍚庤闂椂闂寸殑鏂囦歡銆?br> * @since 0.1
*/
public static void touch(File file) {
long currentTime = System.currentTimeMillis();
if (!file.exists()) {
System.err.println("file not found:" + file.getName());
System.err.println("Create a new file:" + file.getName());
try {
if (file.createNewFile()) {
// System.out.println("Succeeded!");
}
else {
// System.err.println("Create file failed!");
}
}
catch (IOException e) {
// System.err.println("Create file failed!");
e.printStackTrace();
}
}
boolean result = file.setLastModified(currentTime);
if (!result) {
// System.err.println("touch failed: " + file.getName());
}
}
/**
* 淇敼鏂囦歡鐨勬渶鍚庤闂椂闂淬?br> * 濡傛灉鏂囦歡涓嶅瓨鍦ㄥ垯鍒涘緩璇ユ枃浠躲?br> * <b>鐩墠榪欎釜鏂規(guī)硶鐨勮涓烘柟寮忚繕涓嶇ǔ瀹氾紝涓昏鏄柟娉曟湁浜涗俊鎭緭鍑猴紝榪欎簺淇℃伅杈撳嚭鏄惁淇濈暀榪樺湪鑰?/font>
铏戜腑銆?lt;/b>
* @param fileName 闇瑕佷慨鏀規(guī)渶鍚庤闂椂闂寸殑鏂囦歡鐨勬枃浠跺悕銆?br> * @since 0.1
*/
public static void touch(String fileName) {
File file = new File(fileName);
touch(file);
}
/**
* 淇敼鏂囦歡鐨勬渶鍚庤闂椂闂淬?br> * 濡傛灉鏂囦歡涓嶅瓨鍦ㄥ垯鍒涘緩璇ユ枃浠躲?br> * <b>鐩墠榪欎釜鏂規(guī)硶鐨勮涓烘柟寮忚繕涓嶇ǔ瀹氾紝涓昏鏄柟娉曟湁浜涗俊鎭緭鍑猴紝榪欎簺淇℃伅杈撳嚭鏄惁淇濈暀榪樺湪鑰?/font>
铏戜腑銆?lt;/b>
* @param files 闇瑕佷慨鏀規(guī)渶鍚庤闂椂闂寸殑鏂囦歡鏁扮粍銆?br> * @since 0.1
*/
public static void touch(File[] files) {
for (int i = 0; i < files.length; i++) {
touch(files);
}
}
/**
* 淇敼鏂囦歡鐨勬渶鍚庤闂椂闂淬?br> * 濡傛灉鏂囦歡涓嶅瓨鍦ㄥ垯鍒涘緩璇ユ枃浠躲?br> * <b>鐩墠榪欎釜鏂規(guī)硶鐨勮涓烘柟寮忚繕涓嶇ǔ瀹氾紝涓昏鏄柟娉曟湁浜涗俊鎭緭鍑猴紝榪欎簺淇℃伅杈撳嚭鏄惁淇濈暀榪樺湪鑰?/font>
铏戜腑銆?lt;/b>
* @param fileNames 闇瑕佷慨鏀規(guī)渶鍚庤闂椂闂寸殑鏂囦歡鍚嶆暟緇勩?br> * @since 0.1
*/
public static void touch(String[] fileNames) {
File[] files = new File[fileNames.length];
for (int i = 0; i < fileNames.length; i++) {
files = new File(fileNames);
}
touch(files);
}
/**
* 鍒ゆ柇鎸囧畾鐨勬枃浠舵槸鍚﹀瓨鍦ㄣ?br> * @param fileName 瑕佸垽鏂殑鏂囦歡鐨勬枃浠跺悕
* @return 瀛樺湪鏃惰繑鍥瀟rue錛屽惁鍒欒繑鍥瀎alse銆?br> * @since 0.1
*/
public static boolean isFileExist(String fileName) {
return new File(fileName).isFile();
}
/**
* 鍒涘緩鎸囧畾鐨勭洰褰曘?br> * 濡傛灉鎸囧畾鐨勭洰褰曠殑鐖剁洰褰曚笉瀛樺湪鍒欏垱寤哄叾鐩綍涔︿笂鎵鏈夐渶瑕佺殑鐖剁洰褰曘?br> * <b>娉ㄦ剰錛氬彲鑳戒細(xì)鍦ㄨ繑鍥瀎alse鐨勬椂鍊欏垱寤洪儴鍒嗙埗鐩綍銆?lt;/b>
* @param file 瑕佸垱寤虹殑鐩綍
* @return 瀹屽叏鍒涘緩鎴愬姛鏃惰繑鍥瀟rue錛屽惁鍒欒繑鍥瀎alse銆?br> * @since 0.1
*/
public static boolean makeDirectory(File file) {
File parent = file.getParentFile();
if (parent != null) {
return parent.mkdirs();
}
return false;
}
/**
* 鍒涘緩鎸囧畾鐨勭洰褰曘?br> * 濡傛灉鎸囧畾鐨勭洰褰曠殑鐖剁洰褰曚笉瀛樺湪鍒欏垱寤哄叾鐩綍涔︿笂鎵鏈夐渶瑕佺殑鐖剁洰褰曘?br> * <b>娉ㄦ剰錛氬彲鑳戒細(xì)鍦ㄨ繑鍥瀎alse鐨勬椂鍊欏垱寤洪儴鍒嗙埗鐩綍銆?lt;/b>
* @param fileName 瑕佸垱寤虹殑鐩綍鐨勭洰褰曞悕
* @return 瀹屽叏鍒涘緩鎴愬姛鏃惰繑鍥瀟rue錛屽惁鍒欒繑鍥瀎alse銆?br> * @since 0.1
*/
public static boolean makeDirectory(String fileName) {
File file = new File(fileName);
return makeDirectory(file);
}
/**
* 娓呯┖鎸囧畾鐩綍涓殑鏂囦歡銆?br> * 榪欎釜鏂規(guī)硶灝嗗敖鍙兘鍒犻櫎鎵鏈夌殑鏂囦歡錛屼絾鏄彧瑕佹湁涓涓枃浠舵病鏈夎鍒犻櫎閮戒細(xì)榪斿洖false銆?br> * 鍙﹀榪欎釜鏂規(guī)硶涓嶄細(xì)榪唬鍒犻櫎錛屽嵆涓嶄細(xì)鍒犻櫎瀛愮洰褰曞強(qiáng)鍏跺唴瀹廣?br> * @param directory 瑕佹竻絀虹殑鐩綍
* @return 鐩綍涓嬬殑鎵鏈夋枃浠墮兘琚垚鍔熷垹闄ゆ椂榪斿洖true錛屽惁鍒欒繑鍥瀎alse.
* @since 0.1
*/
public static boolean emptyDirectory(File directory) {
boolean result = false;
File[] entries = directory.listFiles();
for (int i = 0; i < entries.length; i++) {
if (!entries.delete()) {
result = false;
}
}
return true;
}
/**
* 娓呯┖鎸囧畾鐩綍涓殑鏂囦歡銆?br> * 榪欎釜鏂規(guī)硶灝嗗敖鍙兘鍒犻櫎鎵鏈夌殑鏂囦歡錛屼絾鏄彧瑕佹湁涓涓枃浠舵病鏈夎鍒犻櫎閮戒細(xì)榪斿洖false銆?br> * 鍙﹀榪欎釜鏂規(guī)硶涓嶄細(xì)榪唬鍒犻櫎錛屽嵆涓嶄細(xì)鍒犻櫎瀛愮洰褰曞強(qiáng)鍏跺唴瀹廣?br> * @param directoryName 瑕佹竻絀虹殑鐩綍鐨勭洰褰曞悕
* @return 鐩綍涓嬬殑鎵鏈夋枃浠墮兘琚垚鍔熷垹闄ゆ椂榪斿洖true錛屽惁鍒欒繑鍥瀎alse銆?br> * @since 0.1
*/
public static boolean emptyDirectory(String directoryName) {
File dir = new File(directoryName);
return emptyDirectory(dir);
}
/**
* 鍒犻櫎鎸囧畾鐩綍鍙?qiáng)鍏朵腑鐨勬墍鏈夊唴瀹廣?br> * @param dirName 瑕佸垹闄ょ殑鐩綍鐨勭洰褰曞悕
* @return 鍒犻櫎鎴愬姛鏃惰繑鍥瀟rue錛屽惁鍒欒繑鍥瀎alse銆?br> * @since 0.1
*/
public static boolean deleteDirectory(String dirName) {
return deleteDirectory(new File(dirName));
}
/**
* 鍒犻櫎鎸囧畾鐩綍鍙?qiáng)鍏朵腑鐨勬墍鏈夊唴瀹廣?br> * @param dir 瑕佸垹闄ょ殑鐩綍
* @return 鍒犻櫎鎴愬姛鏃惰繑鍥瀟rue錛屽惁鍒欒繑鍥瀎alse銆?br> * @since 0.1
*/
public static boolean deleteDirectory(File dir) {
if ( (dir == null) || !dir.isDirectory()) {
throw new IllegalArgumentException("Argument " + dir +
" is not a directory. ");
}
File[] entries = dir.listFiles();
int sz = entries.length;
for (int i = 0; i < sz; i++) {
if (entries.isDirectory()) {
if (!deleteDirectory(entries)) {
return false;
}
}
else {
if (!entries.delete()) {
return false;
}
}
}
if (!dir.delete()) {
return false;
}
return true;
}
/**
* 榪斿洖鏂囦歡鐨刄RL鍦板潃銆?br> * @param file 鏂囦歡
* @return 鏂囦歡瀵瑰簲鐨勭殑URL鍦板潃
* @throws MalformedURLException
* @since 0.4
* @deprecated 鍦ㄥ疄鐜扮殑鏃跺欐病鏈夋敞鎰忓埌File綾繪湰韜甫涓涓猼oURL鏂規(guī)硶灝嗘枃浠惰礬寰勮漿鎹負(fù)URL銆?br> * 璇蜂嬌鐢‵ile.toURL鏂規(guī)硶銆?br> */
public static URL getURL(File file) throws MalformedURLException {
String fileURL = "file:/" + file.getAbsolutePath();
URL url = new URL(fileURL);
return url;
}
/**
* 浠庢枃浠惰礬寰勫緱鍒版枃浠跺悕銆?br> * @param filePath 鏂囦歡鐨勮礬寰勶紝鍙互鏄浉瀵硅礬寰勪篃鍙互鏄粷瀵硅礬寰?br> * @return 瀵瑰簲鐨勬枃浠跺悕
* @since 0.4
*/
public static String getFileName(String filePath) {
File file = new File(filePath);
return file.getName();
}
/**
* 浠庢枃浠跺悕寰楀埌鏂囦歡緇濆璺緞銆?br> * @param fileName 鏂囦歡鍚?br> * @return 瀵瑰簲鐨勬枃浠惰礬寰?br> * @since 0.4
*/
public static String getFilePath(String fileName) {
File file = new File(fileName);
return file.getAbsolutePath();
}
/**
* 灝咲OS/Windows鏍煎紡鐨勮礬寰勮漿鎹負(fù)UNIX/Linux鏍煎紡鐨勮礬寰勩?br> * 鍏跺疄灝辨槸灝嗚礬寰勪腑鐨?\"鍏ㄩ儴鎹負(fù)"/"錛屽洜涓哄湪鏌愪簺鎯呭喌涓嬫垜浠漿鎹負(fù)榪欑鏂瑰紡姣旇緝鏂逛究錛?br> * 鏌愪腑紼嬪害涓婅"/"姣?\"鏇撮傚悎浣滀負(fù)璺緞鍒嗛殧絎︼紝鑰屼笖DOS/Windows涔熷皢瀹冨綋浣滆礬寰勫垎闅旂銆?br> * @param filePath 杞崲鍓嶇殑璺緞
* @return 杞崲鍚庣殑璺緞
* @since 0.4
*/
public static String toUNIXpath(String filePath) {
return filePath.replace('\\', '/');
}
/**
* 浠庢枃浠跺悕寰楀埌UNIX椋庢牸鐨勬枃浠剁粷瀵硅礬寰勩?br> * @param fileName 鏂囦歡鍚?br> * @return 瀵瑰簲鐨刄NIX椋庢牸鐨勬枃浠惰礬寰?br> * @since 0.4
* @see #toUNIXpath(String filePath) toUNIXpath
*/
public static String getUNIXfilePath(String fileName) {
File file = new File(fileName);
return toUNIXpath(file.getAbsolutePath());
}
/**
* 寰楀埌鏂囦歡鐨勭被鍨嬨?br> * 瀹為檯涓婂氨鏄緱鍒版枃浠跺悕涓渶鍚庝竴涓?#8220;.”鍚庨潰鐨勯儴鍒嗐?br> * @param fileName 鏂囦歡鍚?br> * @return 鏂囦歡鍚嶄腑鐨勭被鍨嬮儴鍒?br> * @since 0.5
*/
public static String getTypePart(String fileName) {
int point = fileName.lastIndexOf('.');
int length = fileName.length();
if (point == -1 || point == length - 1) {
return "";
}
else {
return fileName.substring(point + 1, length);
}
}
/**
* 寰楀埌鏂囦歡鐨勭被鍨嬨?br> * 瀹為檯涓婂氨鏄緱鍒版枃浠跺悕涓渶鍚庝竴涓?#8220;.”鍚庨潰鐨勯儴鍒嗐?br> * @param file 鏂囦歡
* @return 鏂囦歡鍚嶄腑鐨勭被鍨嬮儴鍒?br> * @since 0.5
*/
public static String getFileType(File file) {
return getTypePart(file.getName());
}
/**
* 寰楀埌鏂囦歡鐨勫悕瀛楅儴鍒嗐?br> * 瀹為檯涓婂氨鏄礬寰勪腑鐨勬渶鍚庝竴涓礬寰勫垎闅旂鍚庣殑閮ㄥ垎銆?br> * @param fileName 鏂囦歡鍚?br> * @return 鏂囦歡鍚嶄腑鐨勫悕瀛楅儴鍒?br> * @since 0.5
*/
public static String getNamePart(String fileName) {
int point = getPathLsatIndex(fileName);
int length = fileName.length();
if (point == -1) {
return fileName;
}
else if (point == length - 1) {
int secondPoint = getPathLsatIndex(fileName, point - 1);
if (secondPoint == -1) {
if (length == 1) {
return fileName;
}
else {
return fileName.substring(0, point);
}
}
else {
return fileName.substring(secondPoint + 1, point);
}
}
else {
return fileName.substring(point + 1);
}
}
/**
* 寰楀埌鏂囦歡鍚嶄腑鐨勭埗璺緞閮ㄥ垎銆?br> * 瀵逛袱縐嶈礬寰勫垎闅旂閮芥湁鏁堛?br> * 涓嶅瓨鍦ㄦ椂榪斿洖""銆?br> * 濡傛灉鏂囦歡鍚嶆槸浠ヨ礬寰勫垎闅旂緇撳熬鐨勫垯涓嶈冭檻璇ュ垎闅旂錛屼緥濡?/path/"榪斿洖""銆?br> * @param fileName 鏂囦歡鍚?br> * @return 鐖惰礬寰勶紝涓嶅瓨鍦ㄦ垨鑰呭凡緇忔槸鐖剁洰褰曟椂榪斿洖""
* @since 0.5
*/
public static String getPathPart(String fileName) {
int point = getPathLsatIndex(fileName);
int length = fileName.length();
if (point == -1) {
return "";
}
else if (point == length - 1) {
int secondPoint = getPathLsatIndex(fileName, point - 1);
if (secondPoint == -1) {
return "";
}
else {
return fileName.substring(0, secondPoint);
}
}
else {
return fileName.substring(0, point);
}
}
/**
* 寰楀埌璺緞鍒嗛殧絎﹀湪鏂囦歡璺緞涓嬈″嚭鐜扮殑浣嶇疆銆?br> * 瀵逛簬DOS鎴栬匲NIX椋庢牸鐨勫垎闅旂閮藉彲浠ャ?br> * @param fileName 鏂囦歡璺緞
* @return 璺緞鍒嗛殧絎﹀湪璺緞涓嬈″嚭鐜扮殑浣嶇疆錛屾病鏈夊嚭鐜版椂榪斿洖-1銆?br> * @since 0.5
*/
public static int getPathIndex(String fileName) {
int point = fileName.indexOf('/');
if (point == -1) {
point = fileName.indexOf('\\');
}
return point;
}
/**
* 寰楀埌璺緞鍒嗛殧絎﹀湪鏂囦歡璺緞涓寚瀹氫綅緗悗棣栨鍑虹幇鐨勪綅緗?br> * 瀵逛簬DOS鎴栬匲NIX椋庢牸鐨勫垎闅旂閮藉彲浠ャ?br> * @param fileName 鏂囦歡璺緞
* @param fromIndex 寮濮嬫煡鎵劇殑浣嶇疆
* @return 璺緞鍒嗛殧絎﹀湪璺緞涓寚瀹氫綅緗悗棣栨鍑虹幇鐨勪綅緗紝娌℃湁鍑虹幇鏃惰繑鍥?1銆?br> * @since 0.5
*/
public static int getPathIndex(String fileName, int fromIndex) {
int point = fileName.indexOf('/', fromIndex);
if (point == -1) {
point = fileName.indexOf('\\', fromIndex);
}
return point;
}
/**
* 寰楀埌璺緞鍒嗛殧絎﹀湪鏂囦歡璺緞涓渶鍚庡嚭鐜扮殑浣嶇疆銆?br> * 瀵逛簬DOS鎴栬匲NIX椋庢牸鐨勫垎闅旂閮藉彲浠ャ?br> * @param fileName 鏂囦歡璺緞
* @return 璺緞鍒嗛殧絎﹀湪璺緞涓渶鍚庡嚭鐜扮殑浣嶇疆錛屾病鏈夊嚭鐜版椂榪斿洖-1銆?br> * @since 0.5
*/
public static int getPathLsatIndex(String fileName) {
int point = fileName.lastIndexOf('/');
if (point == -1) {
point = fileName.lastIndexOf('\\');
}
return point;
}
/**
* 寰楀埌璺緞鍒嗛殧絎﹀湪鏂囦歡璺緞涓寚瀹氫綅緗墠鏈鍚庡嚭鐜扮殑浣嶇疆銆?br> * 瀵逛簬DOS鎴栬匲NIX椋庢牸鐨勫垎闅旂閮藉彲浠ャ?br> * @param fileName 鏂囦歡璺緞
* @param fromIndex 寮濮嬫煡鎵劇殑浣嶇疆
* @return 璺緞鍒嗛殧絎﹀湪璺緞涓寚瀹氫綅緗墠鏈鍚庡嚭鐜扮殑浣嶇疆錛屾病鏈夊嚭鐜版椂榪斿洖-1銆?br> * @since 0.5
*/
public static int getPathLsatIndex(String fileName, int fromIndex) {
int point = fileName.lastIndexOf('/', fromIndex);
if (point == -1) {
point = fileName.lastIndexOf('\\', fromIndex);
}
return point;
}
/**
* 灝嗘枃浠跺悕涓殑綾誨瀷閮ㄥ垎鍘繪帀銆?br> * @param filename 鏂囦歡鍚?br> * @return 鍘繪帀綾誨瀷閮ㄥ垎鐨勭粨鏋?br> * @since 0.5
*/
public static String trimType(String filename) {
int index = filename.lastIndexOf(".");
if (index != -1) {
return filename.substring(0, index);
}
else {
return filename;
}
}
/**
* 寰楀埌鐩稿璺緞銆?br> * 鏂囦歡鍚嶄笉鏄洰褰曞悕鐨勫瓙鑺傜偣鏃惰繑鍥炴枃浠跺悕銆?br> * @param pathName 鐩綍鍚?br> * @param fileName 鏂囦歡鍚?br> * @return 寰楀埌鏂囦歡鍚嶇浉瀵逛簬鐩綍鍚嶇殑鐩稿璺緞錛岀洰褰曚笅涓嶅瓨鍦ㄨ鏂囦歡鏃惰繑鍥炴枃浠跺悕
* @since 0.5
*/
public static String getSubpath(String pathName,String fileName) {
int index = fileName.indexOf(pathName);
if (index != -1) {
return fileName.substring(index + pathName.length() + 1);
}
else {
return fileName;
}
}
}
4.閬楃暀闂
鐩墠new FileInputStream()鍙細(xì)浣跨敤緇濆璺緞錛岀浉瀵規(guī)病鐢ㄨ繃錛屽洜涓鴻鐩稿浜巜eb鏈嶅姟鍣ㄥ湴鍧錛屾瘮杈冮夯鐑?/font>
榪樹笉濡傚啓涓厤緗枃浠舵潵鐨勫揩鍝?/font>
5.鎸塉ava鏂囦歡綾誨瀷鍒嗙被璇誨彇閰嶇疆鏂囦歡
閰嶇疆鏂囦歡鏄簲鐢ㄧ郴緇熶腑涓嶅彲緙哄皯鐨勶紝鍙互澧炲姞紼嬪簭鐨勭伒媧繪с俲ava.util.Properties鏄粠jdk1.2灝辨湁鐨勭被錛屼竴鐩村埌鐜板湪閮芥敮鎸乴oad ()鏂規(guī)硶錛宩dk1.4浠ュ悗save(output,string) ->store(output,string)銆傚鏋滃彧鏄崟綰殑璇伙紝鏍規(guī)湰涓嶅瓨鍦ㄧ儲(chǔ)鎭肩殑闂銆倃eb灞傚彲浠ラ氳繃 Thread.currentThread().getContextClassLoader().
getResourceAsStream("xx.properties") 鑾峰彇錛汚pplication鍙互閫氳繃new FileInputStream("xx.properties");鐩存帴鍦╟lasses涓綰ц幏鍙栥傚叧閿槸鏈夋椂鎴戜滑闇瑕侀氳繃web淇敼閰嶇疆鏂囦歡錛屾垜浠笉鑳藉皢璺緞鍐欐浜嗐傜粡榪囨祴璇曡寰楁湁浠ヤ笅蹇冨緱錛?/font>
1.servlet涓鍐欍傚鏋滆繍鐢⊿truts 鎴栬匰ervlet鍙互鐩存帴鍦ㄥ垵濮嬪寲鍙傛暟涓厤緗紝璋冪敤鏃舵牴鎹畇ervlet鐨刧etRealPath("/")鑾峰彇鐪熷疄璺緞錛屽啀鏍規(guī)嵁String file = this.servlet.getInitParameter("abc");鑾峰彇鐩稿鐨刉EB-INF鐨勭浉瀵硅礬寰勩?br>渚嬶細(xì)
InputStream input = Thread.currentThread().getContextClassLoader().
getResourceAsStream("abc.properties");
Properties prop = new Properties();
prop.load(input);
input.close();
OutputStream out = new FileOutputStream(path);
prop.setProperty("abc", “test");
prop.store(out, “–test–");
out.close();
2.鐩存帴鍦╦sp涓搷浣滐紝閫氳繃jsp鍐呯疆瀵硅薄鑾峰彇鍙搷浣滅殑緇濆鍦板潃銆?br>渚嬶細(xì)
// jsp欏甸潰
String path = pageContext.getServletContext().getRealPath("/");
String realPath = path+"/WEB-INF/classes/abc.properties";
//java 紼嬪簭
InputStream in = getClass().getClassLoader().getResourceAsStream("abc.properties"); // abc.properties鏀懼湪webroot/WEB-INF/classes/鐩綍涓?br>prop.load(in);
in.close();
OutputStream out = new FileOutputStream(path); // path涓洪氳繃欏甸潰浼犲叆鐨勮礬寰?br>prop.setProperty("abc", “abcccccc");
prop.store(out, “–test–");
out.close();
3.鍙氳繃Java紼嬪簭鎿嶄綔璧勬簮鏂囦歡
InputStream in = new FileInputStream("abc.properties"); // 鏀懼湪classes鍚岀駭
OutputStream out = new FileOutputStream("abc.properties");

]]>