gpt4 book ai didi

Java 文件 IO 异常

转载 作者:行者123 更新时间:2023-12-02 07:54:23 25 4
gpt4 key购买 nike

我正在尝试创建一个简单的程序来保存收集的数据的文本日志。为了进行设置,我在程序开始时运行以下代码(以设置日志文件以及使用它的工具):

File logFile = new File("logs/logFile.txt");
FileWriter fw;
FileReader fr;
BufferedWriter writer;
BufferedReader reader;

public void someMethod(){
System.out.println(logFile.getAbsolutePath());
try{
logFile.createNewFile();
}catch(Exception e){
System.err.println("WARNING: CANNOT CREATE FILE");
}
try{
fw = new FileWriter("plugins/Stalker/log.txt");
fr = new FileReader("plugins/Stalker/log.txt");
writer = new BufferedWriter(fw);
reader = new BufferedReader(fr);
} catch(Exception e){
System.err.println("ERROR: CANNOT READ OR WRITE TO LOG FILE");
}
}

当我运行这个时,我遇到了两个异常。它不会在第一个 println 中给定的路径处创建文件或文件夹(日志)。该路径正如我所期望的那样,并且我应该对该目录具有写入权限(我知道其他程序定期将日志等写入父目录)...我已经处理过一些文件以前,但已经有点了,我在这里完全不知所措。

我可能会遇到什么类型的问题?您建议采取哪些尝试来解决此问题?

最佳答案

当您使用文件夹时,必须确保该文件夹存在。

为此,您必须在 logFile.createNewFile(); 之前编写一个条件来检查文件夹是否存在,因为 createNewFild 不会创建文件夹。

你必须像这样修改程序。

File logFileFolder = new File("logs");
File stalkerFolder = new File("plugins/Stalker");
File logFile = new File("logs/logFile.txt");
FileWriter fw;
FileReader fr;
BufferedWriter writer;
BufferedReader reader;

public void someMethod(){
System.out.println(logFile.getAbsolutePath());
try{
if (!logFileFolder.exists()){
// Create folder if does not exist
logFileFolder.mkdir();
}
logFile.createNewFile();
}catch(Exception e){
System.err.println("WARNING: CANNOT CREATE FILE");
}
try{
if (!stalkerFolder.exists()){
// Create folders if does not exist
stalkerFolder.mkdirs();
}
fw = new FileWriter("plugins/Stalker/log.txt");
fr = new FileReader("plugins/Stalker/log.txt");
writer = new BufferedWriter(fw);
reader = new BufferedReader(fr);
} catch(Exception e){
System.err.println("ERROR: CANNOT READ OR WRITE TO LOG FILE");
}
}

关于Java 文件 IO 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9838900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com