[英]Compile errors: deleting and renaming file in java?
我已經使用過函數oldFile.delete()和newfile.rename(“ oldFile.txt”)都是文件對象,但是這不起作用,刪除函數和重命名函數給出了錯誤,源代碼如下:
package urlFiltering;
import java.io.*;
import java.net.InetAddress;
public class mainForm{
public static void main(String args[]) throws IOException {
String hostName="www.stackoverflow.com";
InetAddress inetAddress=InetAddress.getByName(hostName);
String host=inetAddress.toString();
FileReader inputFile = new FileReader("StoredIp.txt");
File tempFile= new File("tempFile.txt");
BufferedReader bufferReader = new BufferedReader(inputFile);
String line;
while ((line = bufferReader.readLine()) != null) {
if(host.equals(line))
continue;
else
{
if (!tempFile.exists()) {
tempFile.createNewFile();
}
FileWriter fw = new FileWriter(tempFile,true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(line);
bw.newLine();
bw.close();
}
}
bufferReader.close();
inputFile.delete();//error
tempFile.renameTo("StoredIp.txt"); //error
}
}
您的inputFile
是一個FileReader
,它沒有delete()
方法。 您可以創建一個File
對象來表示該文件,並將該File
作為輸入提供給FileReader
構造函數。 然后,您還可以最后在File
對象上而不是FileReader
上調用delete()
方法。 renameTo()
給您一個錯誤,因為該方法需要File
而不是String
。 renameTo(new File("StoredIp.txt"))
為renameTo(new File("StoredIp.txt"))
。 換句話說,這是:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.net.InetAddress;
public class mainForm {
public static void main(String args[]) throws IOException {
String hostName = "www.stackoverflow.com";
InetAddress inetAddress = InetAddress.getByName(hostName);
String host = inetAddress.toString();
File inputF = new File("StoredIp.txt");
FileReader inputFile = new FileReader(inputF);
File tempFile = new File("tempFile.txt");
BufferedReader bufferReader = new BufferedReader(inputFile);
String line;
while ((line = bufferReader.readLine()) != null) {
if (host.equals(line))
continue;
else {
if (!tempFile.exists()) {
tempFile.createNewFile();
}
FileWriter fw = new FileWriter(tempFile, true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(line);
bw.newLine();
bw.close();
}
}
bufferReader.close();
inputF.delete();// no more error
tempFile.renameTo(new File("StoredIp.txt")); // no more error
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.