不管你是新手還是老鳥
項目的文件夾結構
repathtest
├─src
│ └─com
│ └─lavasoft
│ ├─test
│ └─res
├─doc
在project中
創建文件的寫法是
File f = new File(
File f = new File(
注意
路徑不以
脫離了IDE環境
讀取包內文件
InputStream in = ReadFile
有了字節流
注意
這裡必須以
package com
import java
/**
* Java讀取相對路徑的文件
*
* @author leizhimin
*/
public class ReadFile {
public static void main(String[] args) {
readTextA_ByClassPath();
readTextA_ByProjectRelativePath();
readTextB_ByProjectRelativePath();
}
/**
* 通過工程相對路徑讀取(包內)文件
*/
public static void readTextA_ByProjectRelativePath() {
System
File f = new File(
String a = file
System
}
/**
* 通過工程相對路徑讀取(包外)文件
*/
public static void readTextB_ByProjectRelativePath() {
System
File f = new File(
String b = file
System
}
/**
* 通過CLASSPATH讀取包內文件
*/
public static void readTextA_ByClassPath() {
System
InputStream in = ReadFile
String a = stream
System
}
/**
* 文件轉換為字符串
*
* @param f 文件
* @param charset 文件的字符集
* @return 文件內容
*/
public static String file
String result = null;
try {
result = stream
} catch (FileNotFoundException e) {
e
}
return result;
}
/**
* 文件轉換為字符串
*
* @param in 字節流
* @param charset 文件的字符集
* @return 文件內容
*/
public static String stream
StringBuffer sb = new StringBuffer();
try {
Reader r = new InputStreamReader(in
int length =
for (char[] c = new char[
sb
}
r
} catch (UnsupportedEncodingException e) {
e
} catch (FileNotFoundException e) {
e
} catch (IOException e) {
e
}
return sb
}
}
(代碼寫得粗糙
運行結果
aaaaaaaaa
sssssssss
aaaaaaaaa
sssssssss
bbbbbbbbbbb
Process finished with exit code
這是通過IDEA開發工具運行的
下面我截個圖
當使用相對路徑寫入文件時候
package com
import java
/**
* CLASSPATH文件的絕對路徑獲取測試
*
* @author leizhimin
*/
public class Test {
//classpath的文件路徑
private static String cp =
public static void main(String[] args) {
//當前類的絕對路徑
System
//指定CLASSPATH文件的絕對路徑
System
//指定CLASSPATH文件的絕對路徑
File f = new File(Test
System
}
}
輸出
/D:/projects/bbt/code/cdn/planrpt/out/production/planrpt/
/D:/projects/bbt/code/cdn/planrpt/out/production/planrpt/com/lavasoft/cfg/syscfg
D:\projects\bbt\code\cdn\planrpt\out\production\planrpt\com\lavasoft\cfg\syscfg
Process finished with exit code
總結
使用工程相對路徑是靠不住的
使用CLASSPATH路徑是可靠的
對於程序要讀取的文件
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27002.html