Java File.delete()返回false?
首先我解释了架构,然后我会提出真正的问题 我正在使用三层体系结构。我完全设计了DL、BL以及它们的测试用例。 BL从DL获取数据,然后BL填充自己的数据结构。BL和DL中提供了Add()和Update()、Getter method()和Customer.data,当DL的Add方法运行时,将生成用于存储客户数据的数据 当BL的Add()方法运行时,首先填充数据结构,然后更新DL,然后使用新实体更新BL中的数据结构 在DL中,当我添加一个客户,然后更新它时,它工作正常 “但是当我在BL中添加一个客户并更新它时,getter方法在BL中不起作用”,我无法添加新客户 注:BL使用DL的更新方法 在DL的更新方法文件中,当我在DL的测试用例文件夹中运行add、Update时,delete()返回true 但当我在BL测试用例文件夹中运行add,update方法时,file.delete()返回false 我关闭了与文件关联的流,并且其他程序未使用该文件,我检查了权限。。但我不明白问题是什么 下面是更新()的代码 此方法检查代码是否存在如果代码存在,则检查名称是否存在。。如果存在,则抛出异常。。 验证完成后;此方法将原始文件的内容与客户一起复制到临时文件,然后将临时文件的内容复制到原始文件Java File.delete()返回false?,java,Java,首先我解释了架构,然后我会提出真正的问题 我正在使用三层体系结构。我完全设计了DL、BL以及它们的测试用例。 BL从DL获取数据,然后BL填充自己的数据结构。BL和DL中提供了Add()和Update()、Getter method()和Customer.data,当DL的Add方法运行时,将生成用于存储客户数据的数据 当BL的Add()方法运行时,首先填充数据结构,然后更新DL,然后使用新实体更新BL中的数据结构 在DL中,当我添加一个客户,然后更新它时,它工作正常 “但是当我在BL中添加一
//........... Code
while(randomAccessFile.getFilePointer()<randomAccessFile.length())
{
vCode=Integer.parseInt(randomAccessFile.readLine());
vName=randomAccessFile.readLine();
vOpeningBalance=Integer.parseInt(randomAccessFile.readLine());
vOpeningBalanceType=randomAccessFile.readLine().charAt(0);
if(vCode==customerDTOInterface.getCode())
{
access=1;
pos=randomAccessFile.getFilePointer(); randomAccessFile.seek(0);
while(randomAccessFile.getFilePointer()<randomAccessFile.length())
{
code=Integer.parseInt(randomAccessFile.readLine());
vName=randomAccessFile.readLine(); randomAccessFile.readLine();
randomAccessFile.readLine();
if(vName.equalsIgnoreCase(customerDTOInterface.getName()))
{
throw new DAOException(vName + " exists with code as : " + code);
}
}
randomAccessFile.seek(pos);
trandomAccessFile.writeBytes(vCode+"\n"+customerDTOInterface.getName()
+"\n"+customerDTOInterface.getOpeningBalance()+"\n"+
customerDTOInterface.getOpeningBalanceType()+"\n");
}
else
{
trandomAccessFile.writeBytes(vCode+"\n"+vName+"\n"+vOpeningBalance+
"\n"+vOpeningBalanceType+"\n");
}
}
if(access==0)
{
trandomAccessFile.close();
tfile.delete();
throw new DAOException("Invalid Code DAO");
}
randomAccessFile.close();
trandomAccessFile.seek(0);
file.delete(); //Delete Returns False here
.......... //More Code
/。。。。。。。。。。。代码
while(randomAccessFile.getFilePointer()我认为您应该在这里提供相关的代码片段
否则,很难确定会发生什么,但在一般的文件中。删除通常不起作用,因为
权限问题,或者如果某人已持有与文件关联的句柄(对于Windows)
由于您使用的是Windows,第二个问题更可能是这种情况,很可能是您自己的应用程序