Java 文件阅读器找不到我的文本文件

Java 文件阅读器找不到我的文本文件,java,filereader,java-io,Java,Filereader,Java Io,我有一个简单的文本文件,由于某种原因,它找不到。我没有发现代码有任何错误,因为我是从一个网站上获得的,我开始认为我没有将文本文件放在正确的位置。有什么建议吗 代码: 我的堆栈跟踪如下: java.io.FileNotFoundException: C:\Users\homar_000\workspace\RankFavorites\icecreamTopping.txt (The system cannot find the file specified) at java.io.FileInpu

我有一个简单的文本文件,由于某种原因,它找不到。我没有发现代码有任何错误,因为我是从一个网站上获得的,我开始认为我没有将文本文件放在正确的位置。有什么建议吗

代码: 我的堆栈跟踪如下:

java.io.FileNotFoundException: C:\Users\homar_000\workspace\RankFavorites\icecreamTopping.txt (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at MainFavorites.main(MainFavorites.java:28)
java.io.FileNotFoundException:C:\Users\homar\u 000\workspace\RankFavorites\icecreamTopping.txt(系统找不到指定的文件)
位于java.io.FileInputStream.open(本机方法)的java.io.FileInputStream。(未知源)
位于java.io.FileInputStream。(未知源)
位于java.io.FileReader。(未知源)
在MainFavorites.main(MainFavorites.java:28)
替换第行下方的内容

reader = new BufferedReader(new FileReader("icecreamTopping.txt"));

并将该文件放在与src文件夹并行的resources文件夹下


示例代码:

从资源文件夹中读取文件
abc.txt

reader = new BufferedReader(new FileReader("resources/abc.txt"));
这是项目结构


尝试下面的代码,找出它指向文件
icecreamTopping.txt
的位置

 File f=new File("icecreamTopping.txt");
 System.out.println(f.getAbsolutePath());
获得绝对路径后,只需将文件放在那里


--编辑--

根据您最近的评论,将
icecreamTopping.txt
文件直接放入项目
RankFavorites
,如下面的快照所示,它肯定会解决您的问题


尝试使用File class检测存储中的文件:

File sdcard = Environment.getExternalStorageDirectory();

//Get the text file
File file = new File(sdcard,"file.txt");

BufferedReader br = new BufferedReader(new FileReader(file));

找出问题所在。我没有必要放文件扩展名,所以我删除了.txt,因为当我保存它时,它读作“icecreamTopping.txt.txt”

“出于某种原因,它找不到。”这意味着什么?粘贴stacktraceOh,并且您没有指定用于读取文件的字符集也许有些人只是初学者,EJP?哈哈,我的堆栈跟踪是这样的:java.io.FileNotFoundException:C:\Users\homar\u 000\workspace\RankFavorites\icecreamTopping.txt(系统找不到指定的文件),java.io.FileInputStream.open(本机方法),java.io.FileInputStream.(未知源),java.io.FileInputStream.(未知源),java.io.FileReader.(未知源)。(未知来源)MainFavorites.main(MainFavorites.java:28)感谢您的帮助。我使用代码找到了文件指向的位置,得到了:C:\Users\homar\u 000\workspace\RankFavorites\icecreamTopping.txt我试着把它放在那里,但仍然不起作用。甚至RankFavorites/icecreamTopping.txt也不起作用。(我也将\更改为a/)
reader = new BufferedReader(new FileReader("resources/abc.txt"));
 File f=new File("icecreamTopping.txt");
 System.out.println(f.getAbsolutePath());
File sdcard = Environment.getExternalStorageDirectory();

//Get the text file
File file = new File(sdcard,"file.txt");

BufferedReader br = new BufferedReader(new FileReader(file));
import org.json.simple.parser.ParseException;
import org.json.simple.parser.JSONParser;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;


JSONParser parser = new JSONParser();
ObjectMapper mapper = new ObjectMapper();

try {
    
    Object obj = parser.parse(new FileReader("/home/sahan/Desktop/data.json"));
    ObjectNode objNode = mapper.convertValue(obj, ObjectNode.class);
    System.out.println(objNode);

} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (ParseException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}