当前位置: 技术问答>java相关
为什么这样会找不到当前目录下的文件File myfile = new File("test.txt"); 谢谢
来源: 互联网 发布时间:2015-10-19
本文导语: 我希望找当前目录下的文件 test.txt 为什么这样写不行 File myfile = new File("test.txt"); 而要这样才行,怎样才能找当前目录下的文件?谢谢 File myfile = new File("c:\test.txt") | 我试了下,如下appl...
我希望找当前目录下的文件 test.txt 为什么这样写不行
File myfile = new File("test.txt");
而要这样才行,怎样才能找当前目录下的文件?谢谢
File myfile = new File("c:\test.txt")
File myfile = new File("test.txt");
而要这样才行,怎样才能找当前目录下的文件?谢谢
File myfile = new File("c:\test.txt")
|
我试了下,如下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下再试试
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下再试试
|
File file=new File(类名.class.getResource("test.txt").getpath());
类名为该语句所在的类名,同时该类的java文件于test.txt在同一个目录。
类名为该语句所在的类名,同时该类的java文件于test.txt在同一个目录。
|
你如果用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:yourprojectclasses
那么System.getProperty("user.dir")得到的路径类似于是:c:yourproject的路径,也就是你的工程文件所在的路径,而如果你在命令行运行,那么上叙命令得到的路径就是你的class同级的位置,如你的Application是com.aa.bb;那么这个路径就是com文件夹的同级位置路径,如c:yourprojectclasses
|
这要看你在哪起的运行环境,在哪个路径下运行的Javac就是当前路径
|
如果是这样
c:>java yourprogram
就可以,这要看你在那里运行java
c:>java yourprogram
就可以,这要看你在那里运行java
|
要读当前目录下的test.txt文件应该这样:
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");
|
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
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
|
你把你的路经加到CLASSPATH当中去,再试试看
|
File myfile = new File("./test.txt");