日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

關(guān)于Java文件路徑問題

瀏覽:196日期:2024-06-06 17:45:53
內(nèi)容: 1.如何獲得當前文件路徑常用:字符串類型:System.getProperty('user.dir');綜合: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服務(wù)中(1).WeblogicWebApplication的系統(tǒng)文件根目錄是你的weblogic安裝所在根目錄。例如:如果你的weblogic安裝在c:beaweblogic700.....那么,你的文件根路徑就是c:.所以,有兩種方式能夠讓你訪問你的服務(wù)器端的文件:a.使用絕對路徑:比如將你的參數(shù)文件放在c:yourconfigyourconf.properties,直接使用 new FileInputStream('yourconfig/yourconf.properties');b.使用相對路徑:相對路徑的根目錄就是你的webapplication的根路徑,即WEB-INF的上一級目錄,將你的參數(shù)文件放在yourwebappyourconfigyourconf.properties,這樣使用:new FileInputStream('./yourconfig/yourconf.properties');這兩種方式均可,自己選擇。(2).Tomcat在類中輸出System.getProperty('user.dir');顯示的是%Tomcat_Home%/bin(3).Resin不是你的JSP放的相對路徑,是JSP引擎執(zhí)行這個JSP編譯成SERVLET的路徑為根.比如用新建文件法測試File f = new File('a.htm');這個a.htm在resin的安裝目錄下 (4).如何讀相對路徑哪?在Java文件中g(shù)etResource或getResourceAsStream均可例:getClass().getResourceAsStream(filePath);//filePath可以是'/filename',這里的/代表web發(fā)布根路徑下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.*;/*** 此類中封裝一些常用的文件操作。* 所有方法都是靜態(tài)方法,不需要生成此類的實例,* 為避免生成此類的實例,構(gòu)造方法被申明為private類型的。* @since 0.1*/public class FileUtil { /** * 私有構(gòu)造方法,防止類的實例化,因為工具類不需要實例化。 */ private FileUtil() { } /** * 修改文件的最后訪問時間。 * 如果文件不存在則創(chuàng)建該文件。 * 目前這個方法的行為方式還不穩(wěn)定,主要是方法有些信息輸出,這些信息輸出是否保留還在考慮中。 * @param file 需要修改最后訪問時間的文件。 * @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()); } } /** * 修改文件的最后訪問時間。 * 如果文件不存在則創(chuàng)建該文件。 * 目前這個方法的行為方式還不穩(wěn)定,主要是方法有些信息輸出,這些信息輸出是否保留還在考慮中。 * @param fileName 需要修改最后訪問時間的文件的文件名。 * @since 0.1 */ public static void touch(String fileName) { File file = new File(fileName); touch(file); } /** * 修改文件的最后訪問時間。 * 如果文件不存在則創(chuàng)建該文件。 * 目前這個方法的行為方式還不穩(wěn)定,主要是方法有些信息輸出,這些信息輸出是否保留還在考慮中。 * @param files 需要修改最后訪問時間的文件數(shù)組。 * @since 0.1 */ public static void touch(File[] files) { for (int i = 0; i < files.length; i++) { touch(files); } } /** * 修改文件的最后訪問時間。 * 如果文件不存在則創(chuàng)建該文件。 * 目前這個方法的行為方式還不穩(wěn)定,主要是方法有些信息輸出,這些信息輸出是否保留還在考慮中。 * @param fileNames 需要修改最后訪問時間的文件名數(shù)組。 * @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); } /** * 判斷指定的文件是否存在。 * @param fileName 要判斷的文件的文件名 * @return 存在時返回true,否則返回false。 * @since 0.1 */ public static boolean isFileExist(String fileName) { return new File(fileName).isFile(); } /** * 創(chuàng)建指定的目錄。 * 如果指定的目錄的父目錄不存在則創(chuàng)建其目錄書上所有需要的父目錄。 * 注意:可能會在返回false的時候創(chuàng)建部分父目錄。 * @param file 要創(chuàng)建的目錄 * @return 完全創(chuàng)建成功時返回true,否則返回false。 * @since 0.1 */ public static boolean makeDirectory(File file) { File parent = file.getParentFile(); if (parent != null) { return parent.mkdirs(); } return false; } /** * 創(chuàng)建指定的目錄。 * 如果指定的目錄的父目錄不存在則創(chuàng)建其目錄書上所有需要的父目錄。 * 注意:可能會在返回false的時候創(chuàng)建部分父目錄。 * @param fileName 要創(chuàng)建的目錄的目錄名 * @return 完全創(chuàng)建成功時返回true,否則返回false。 * @since 0.1 */ public static boolean makeDirectory(String fileName) { File file = new File(fileName); return makeDirectory(file); } /** * 清空指定目錄中的文件。 * 這個方法將盡可能刪除所有的文件,但是只要有一個文件沒有被刪除都會返回false。 * 另外這個方法不會迭代刪除,即不會刪除子目錄及其內(nèi)容。 * @param directory 要清空的目錄 * @return 目錄下的所有文件都被成功刪除時返回true,否則返回false. * @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; } /** * 清空指定目錄中的文件。 * 這個方法將盡可能刪除所有的文件,但是只要有一個文件沒有被刪除都會返回false。 * 另外這個方法不會迭代刪除,即不會刪除子目錄及其內(nèi)容。 * @param directoryName 要清空的目錄的目錄名 * @return 目錄下的所有文件都被成功刪除時返回true,否則返回false。 * @since 0.1 */ public static boolean emptyDirectory(String directoryName) { File dir = new File(directoryName); return emptyDirectory(dir); } /** * 刪除指定目錄及其中的所有內(nèi)容。 * @param dirName 要刪除的目錄的目錄名 * @return 刪除成功時返回true,否則返回false。 * @since 0.1 */ public static boolean deleteDirectory(String dirName) { return deleteDirectory(new File(dirName)); } /** * 刪除指定目錄及其中的所有內(nèi)容。 * @param dir 要刪除的目錄 * @return 刪除成功時返回true,否則返回false。 * @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; } /** * 返回文件的URL地址。 * @param file 文件 * @return 文件對應(yīng)的的URL地址 * @throws MalformedURLException * @since 0.4 * @deprecated 在實現(xiàn)的時候沒有注意到File類本身帶一個toURL方法將文件路徑轉(zhuǎn)換為URL。 * 請使用File.toURL方法。 */ public static URL getURL(File file) throws MalformedURLException { String fileURL = 'file:/' + file.getAbsolutePath(); URL url = new URL(fileURL); return url; } /** * 從文件路徑得到文件名。 * @param filePath 文件的路徑,可以是相對路徑也可以是絕對路徑 * @return 對應(yīng)的文件名 * @since 0.4 */ public static String getFileName(String filePath) { File file = new File(filePath); return file.getName(); } /** * 從文件名得到文件絕對路徑。 * @param fileName 文件名 * @return 對應(yīng)的文件路徑 * @since 0.4 */ public static String getFilePath(String fileName) { File file = new File(fileName); return file.getAbsolutePath(); } /** * 將DOS/Windows格式的路徑轉(zhuǎn)換為UNIX/Linux格式的路徑。 * 其實就是將路徑中的''全部換為'/',因為在某些情況下我們轉(zhuǎn)換為這種方式比較方便, * 某中程度上說'/'比''更適合作為路徑分隔符,而且DOS/Windows也將它當作路徑分隔符。 * @param filePath 轉(zhuǎn)換前的路徑 * @return 轉(zhuǎn)換后的路徑 * @since 0.4 */ public static String toUNIXpath(String filePath) { return filePath.replace('', '/'); } /** * 從文件名得到UNIX風格的文件絕對路徑。 * @param fileName 文件名 * @return 對應(yīng)的UNIX風格的文件路徑 * @since 0.4 * @see #toUNIXpath(String filePath) toUNIXpath */ public static String getUNIXfilePath(String fileName) { File file = new File(fileName); return toUNIXpath(file.getAbsolutePath()); } /** * 得到文件的類型。 * 實際上就是得到文件名中最后一個“.后面的部分。 * @param fileName 文件名 * @return 文件名中的類型部分 * @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); } } /** * 得到文件的類型。 * 實際上就是得到文件名中最后一個“.后面的部分。 * @param file 文件 * @return 文件名中的類型部分 * @since 0.5 */ public static String getFileType(File file) { return getTypePart(file.getName()); } /** * 得到文件的名字部分。 * 實際上就是路徑中的最后一個路徑分隔符后的部分。 * @param fileName 文件名 * @return 文件名中的名字部分 * @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); } } /** * 得到文件名中的父路徑部分。 * 對兩種路徑分隔符都有效。 * 不存在時返回''。 * 如果文件名是以路徑分隔符結(jié)尾的則不考慮該分隔符,例如'/path/'返回''。 * @param fileName 文件名 * @return 父路徑,不存在或者已經(jīng)是父目錄時返回'' * @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); } } /** * 得到路徑分隔符在文件路徑中首次出現(xiàn)的位置。 * 對于DOS或者UNIX風格的分隔符都可以。 * @param fileName 文件路徑 * @return 路徑分隔符在路徑中首次出現(xiàn)的位置,沒有出現(xiàn)時返回-1。 * @since 0.5 */ public static int getPathIndex(String fileName) { int point = fileName.indexOf('/'); if (point == -1) { point = fileName.indexOf(''); } return point; } /** * 得到路徑分隔符在文件路徑中指定位置后首次出現(xiàn)的位置。 * 對于DOS或者UNIX風格的分隔符都可以。 * @param fileName 文件路徑 * @param fromIndex 開始查找的位置 * @return 路徑分隔符在路徑中指定位置后首次出現(xiàn)的位置,沒有出現(xiàn)時返回-1。 * @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; } /** * 得到路徑分隔符在文件路徑中最后出現(xiàn)的位置。 * 對于DOS或者UNIX風格的分隔符都可以。 * @param fileName 文件路徑 * @return 路徑分隔符在路徑中最后出現(xiàn)的位置,沒有出現(xiàn)時返回-1。 * @since 0.5 */ public static int getPathLsatIndex(String fileName) { int point = fileName.lastIndexOf('/'); if (point == -1) { point = fileName.lastIndexOf(''); } return point; } /** * 得到路徑分隔符在文件路徑中指定位置前最后出現(xiàn)的位置。 * 對于DOS或者UNIX風格的分隔符都可以。 * @param fileName 文件路徑 * @param fromIndex 開始查找的位置 * @return 路徑分隔符在路徑中指定位置前最后出現(xiàn)的位置,沒有出現(xiàn)時返回-1。 * @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; } /** * 將文件名中的類型部分去掉。 * @param filename 文件名 * @return 去掉類型部分的結(jié)果 * @since 0.5 */ public static String trimType(String filename) { int index = filename.lastIndexOf('.'); if (index != -1) { return filename.substring(0, index); } else { return filename; } } /** * 得到相對路徑。 * 文件名不是目錄名的子節(jié)點時返回文件名。 * @param pathName 目錄名 * @param fileName 文件名 * @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()只會使用絕對路徑,相對沒用過,因為要相對于web服務(wù)器地址,比較麻煩還不如寫個配置文件來的快哪5.按Java文件類型分類讀取配置文件配置文件是應(yīng)用系統(tǒng)中不可缺少的,可以增加程序的靈活性。java.util.Properties是從jdk1.2就有的類,一直到現(xiàn)在都支持load()方法,jdk1.4以后save(output,string) ->store(output,string)。如果只是單純的讀,根本不存在煩惱的問題。web層可以通過Thread.currentThread().getContextClassLoader().getResourceAsStream('xx.properties')獲取;Application可以通過new FileInputStream('xx.properties');直接在classes一級獲取。關(guān)鍵是有時我們需要通過web修改配置文件,我們不能將路徑寫死了。經(jīng)過測試覺得有以下心得:1.servlet中讀寫。如果運用Struts或者Servlet可以直接在初始化參數(shù)中配置,調(diào)用時根據(jù)servlet的getRealPath('/')獲取真實路徑,再根據(jù)String file = this.servlet.getInitParameter('abc');獲取相對的WEB-INF的相對路徑。例: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.直接在jsp中操作,通過jsp內(nèi)置對象獲取可操作的絕對地址。例:// 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/目錄下prop.load(in);in.close();OutputStream out = new FileOutputStream(path); // path為通過頁面?zhèn)魅氲穆窂絧rop.setProperty('abc', “abcccccc');prop.store(out, “–test–');out.close();3.只通過Java程序操作資源文件InputStream in = new FileInputStream('abc.properties'); // 放在classes同級OutputStream out = new FileOutputStream('abc.properties'); Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd 1.如何?
標簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩动漫一区| 国产在线观看www| 三上亚洲一区二区| 久久不见久久见国语| 免费视频久久| 欧美日韩一区二区综合| 日韩在线短视频| 亚洲性视频h| 宅男噜噜噜66国产日韩在线观看| 日本久久成人网| 欧美一区二区三区高清视频| 久久精品欧美一区| 999久久久91| 老鸭窝亚洲一区二区三区| 日本不卡一二三区黄网| 久久久国产精品入口麻豆| 国产精品二区不卡| 日韩精品久久久久久久电影99爱| 免费观看不卡av| 视频一区二区三区入口| 日韩精品一卡二卡三卡四卡无卡| 亚洲日本久久| 精品国产中文字幕第一页| 日韩国产一区二区| 亚洲精品伊人| 成人午夜网址| av一区二区高清| 日韩福利在线观看| av不卡在线| 美腿丝袜亚洲一区| 成人三级高清视频在线看| 欧美特黄一区| 国产一区丝袜| 伊人久久婷婷| 麻豆国产91在线播放| 国产麻豆久久| 国产欧美一区二区三区米奇| 久久久久久久久丰满| 国产欧美一区二区三区米奇| 偷拍欧美精品| 成人午夜网址| 亚洲精品美女91| 久久精品在线| 乱一区二区av| 日韩二区在线观看| 在线成人直播| 久久精品影视| 另类欧美日韩国产在线| 中文字幕乱码亚洲无线精品一区| 日韩三区在线| 日本欧美大码aⅴ在线播放| 美女久久久久| 夜鲁夜鲁夜鲁视频在线播放| 免费日韩成人| 欧美一区二区三区免费看| 免费在线观看精品| 尹人成人综合网| 久久九九精品| 国产精品88久久久久久| 欧美日韩国产一区二区在线观看| 国产模特精品视频久久久久| 97se综合| 高清日韩欧美| 亚洲影视一区二区三区| 在线视频精品| 成人一二三区| 久久人人97超碰国产公开结果| 久久久91麻豆精品国产一区| 国产精品久久久久77777丨| 国产剧情一区二区在线观看| 久久精品99久久久| 免费在线播放第一区高清av| 开心激情综合| 成人免费电影网址| 亚洲午夜一级| 国产一区二区高清| 一区二区三区国产在线| 日本精品国产| 免费在线欧美黄色| 天堂久久av| 97久久超碰| 国产一区一一区高清不卡| 女生影院久久| 蜜桃91丨九色丨蝌蚪91桃色| 91精品美女| 黑人精品一区| 免播放器亚洲| 久久一区国产| 亚洲激情社区| 国产情侣久久| 99精品小视频| 国产日韩欧美三区| 国产一在线精品一区在线观看| 首页欧美精品中文字幕| 国产精品1区在线| 98精品视频| 色8久久久久| 免费看av不卡| 日本色综合中文字幕| 蜜桃精品在线| 欧美一区自拍| 亚洲免费精品| 国产成人精品亚洲线观看 | 欧美亚洲日本精品| 日韩二区三区在线观看| 水蜜桃久久夜色精品一区| 久久亚洲影院| 日本精品不卡| 国产经典一区| 亚洲精品99| 成人亚洲一区二区| 国产毛片精品| 日韩一区二区三区免费视频| 色婷婷精品视频| 精品美女久久| 欧美日韩一视频区二区| 亚洲专区欧美专区| 亚洲天堂久久| 久久国产欧美| 久久久一本精品| 中文字幕人成乱码在线观看| 国产欧美日韩视频在线| 亚洲欧美专区| 伊人久久亚洲美女图片| 亚洲精品福利电影| 麻豆国产在线| 亚洲1234区| 色爱综合av| 日韩久久电影| 九色porny丨国产首页在线| 亚洲人成在线网站| 麻豆视频在线看| 韩日一区二区三区| 尤物在线精品| 亚洲最新av| 日本午夜精品久久久| 日韩av网站在线观看| 国产精品乱战久久久| 国产精品成人3p一区二区三区| 日本亚洲不卡| 国产精品亲子伦av一区二区三区| 国产日韩1区| 精品香蕉视频| 久久夜夜操妹子| 亚洲一区二区三区四区五区午夜 | 免费视频久久| 热久久久久久| 美女视频黄免费的久久| 91精品婷婷色在线观看| 噜噜噜躁狠狠躁狠狠精品视频| 五月国产精品| 日韩中文字幕一区二区高清99| 欧美精品99| 群体交乱之放荡娇妻一区二区| 日韩一区精品视频| 国产精品白丝久久av网站| 日韩中文影院| 亚洲综合五月| 日韩成人精品一区二区| 中文字幕成人| 精品久久91| 六月天综合网| 成人国产精品一区二区网站| 美女精品在线观看| 日韩.com| 日本欧美韩国一区三区| 欧美经典一区| 在线一区欧美| 日韩大片免费观看| 日韩手机在线| 欧美日韩免费观看一区=区三区| 欧美精品1区| 五月亚洲婷婷 | zzzwww在线看片免费| 亚洲一区二区小说| 视频福利一区| 久久精品国产在热久久| 婷婷综合成人| 亚洲精品激情| 日韩久久一区二区三区| 精品一区二区三区免费看| 日韩av电影一区| 亚州av日韩av| 亚洲免费精品| 99视频精品| 黄色不卡一区| 欧美日韩免费观看视频| 国产精品二区不卡| 精品国产成人| 国产精品18| 欧美国产专区| 国产精品4hu.www| 久久激情五月婷婷| 国产一级成人av| 午夜欧美精品| 99国产精品| 欧美午夜不卡| 在线免费观看亚洲| 亚洲一区二区三区四区电影| 男女性色大片免费观看一区二区|