【发布时间】:2020-10-13 16:07:15
【问题描述】:
我正在使用文本文件创建简单的地址簿,但我的代码在删除字符串方法时抛出了太多错误。它在大多数地方显示 IO 异常,当 IO 异常得到解决时,编译错误找不到符号发生在某些标识符的 5 个位置。这是我的代码:
public void DeletePerson(){
try {
File file = new File("AddressBook.txt");
File temp = File.createTempFile("file", ".txt", file.getParentFile());
BufferedReader reader = new BufferedReader(new InputStreamReader(new
FileInputStream(file), Charset));
PrintWriter writer = new PrintWriter(new OutputStreamWriter(new
FileOutputStream(temp), Charset));
//More code ...
} finally {
if (writer != null) {
System.out.println("Closing PrintWriter");
writer.close();
} else {
System.out.println("PrintWriter not open");
}
file.delete();
temp.renameTo(file);
}
}
输出:
C:\java\AddressBook>javac AddressBook.java AddressBook.java:50:错误:找不到符号 如果(作家!= null){ ^ 符号:变量写入器 位置:类地址簿 AddressBook.java:52:错误:找不到符号 writer.close(); ^ 符号:变量写入器 位置:类地址簿 AddressBook.java:57:错误:找不到符号 文件.删除(); ^ 符号:变量文件 位置:类地址簿 AddressBook.java:58:错误:找不到符号 temp.renameTo(文件); ^ 符号:变量文件 位置:类地址簿 AddressBook.java:58:错误:找不到符号 temp.renameTo(文件); ^ 符号:可变温度 位置:类地址簿我正在创建通讯录并发现删除人名方法的问题。首先,我必须从用户那里获取输入,即人名,然后我必须检查文本文件(读取文件)并找到匹配的单词,然后将其从地址簿中删除。 我还采用了其他方法来删除名称,但它们并没有彻底奏效。 请检查代码并解决问题。
【问题讨论】: