你如果用JBUILDER的话用File myfile = new File(System.getProperty("user.dir") + System.getProperty("file.separator") + "test.txt"); 那么System.getProperty("user.dir")得到的路径类似于是:c:\yourproject的路径,也就是你的工程文件所在的路径,而如果你在命令行运行,那么上叙命令得到的路径就是你的class同级的位置,如你的Application是com.aa.bb;那么这个路径就是com文件夹的同级位置路径,如c:\yourproject\classes\
我怎么试了不行啊!我的TEST.TXT是和BEAN放在同一各目录里面的,我希望 不要这样指定目录 File newfile = new File("classes\test\test.txt"); 我照抄了上面的语句,还是不行,我没有用JBUILDER
你把你的路经加到CLASSPATH当中去,再试试看
File myfile = new File("./test.txt");
把你的使用环境说清楚一点,JSP+javabean ??? 用什么服务器啊???
String currDir= System.getProperty("user.dir")+System.getProperty("file.separator")+yourclass.getClass().getPackage().getName().replace('.',System.getProperty("file.separator").toCharArray()[0]);the yourclass should is your instance of class
我试了下,如下application可以正常运作,不需要更改classpath,也不在任何ide下运行。(和上面有些方法很相似)import java.io.*; public class loadFile { public static void main(String[] args) throws Exception { //loadin a file and print it String absFilePath = System.getProperty("user.dir")+ System.getProperty("file.separator") + "abc.txt"; System.out.println("Gonna loading "+ absFilePath); File myfile = new File(absFilePath); FileReader fr = new FileReader(myfile); BufferedReader br = new BufferedReader(fr); String oneLine = br.readLine(); while (oneLine!=null) { System.out.println(oneLine); oneLine = br.readLine(); } } }所以我怀疑application和bean有细微差别,我回家后在tomcat下再试试
c:\>java yourprogram
就可以,这要看你在那里运行java
File myfile = new File(System.getProperty("user.dir") + System.getProperty("file.separator") + "test.txt");
File myfile = new File(System.getProperty("user.dir") + System.getProperty("file.separator") + "test.txt");
类名为该语句所在的类名,同时该类的java文件于test.txt在同一个目录。
那么System.getProperty("user.dir")得到的路径类似于是:c:\yourproject的路径,也就是你的工程文件所在的路径,而如果你在命令行运行,那么上叙命令得到的路径就是你的class同级的位置,如你的Application是com.aa.bb;那么这个路径就是com文件夹的同级位置路径,如c:\yourproject\classes\
不要这样指定目录 File newfile = new File("classes\test\test.txt");
我照抄了上面的语句,还是不行,我没有用JBUILDER
System.getProperty("user.dir")+System.getProperty("file.separator")+yourclass.getClass().getPackage().getName().replace('.',System.getProperty("file.separator").toCharArray()[0]);the yourclass should is your instance of class
public class loadFile
{
public static void main(String[] args) throws Exception {
//loadin a file and print it
String absFilePath = System.getProperty("user.dir")+
System.getProperty("file.separator") + "abc.txt";
System.out.println("Gonna loading "+ absFilePath);
File myfile = new File(absFilePath);
FileReader fr = new FileReader(myfile);
BufferedReader br = new BufferedReader(fr);
String oneLine = br.readLine();
while (oneLine!=null)
{
System.out.println(oneLine);
oneLine = br.readLine();
}
}
}所以我怀疑application和bean有细微差别,我回家后在tomcat下再试试