我試圖創建一種方法從我的txt文件中刪除一些文本。我開始通過檢查該文件中存在的字符串,我有:從文本文件中刪除多行
public boolean ifConfigurationExists(String pathofFile, String configurationString)
{
Scanner scanner=new Scanner(pathofFile);
List<String> list=new ArrayList<>();
while(scanner.hasNextLine())
{
list.add(scanner.nextLine());
}
if(list.contains(configurationString))
{
return true;
}
else
{
return false;
}
}
因爲我想要刪除的字符串中包含多行(字符串configurationString =「這是\ n一個\ n多行\ n串」; )我開始創建一個新的字符串數組,並將字符串拆分爲數組成員。
public boolean deleteCurrentConfiguration(String pathofFile, String configurationString)
{
String textStr[] = configurationString.split("\\r\\n|\\n|\\r");
File inputFile = new File(pathofFile);
File tempFile = new File("myTempFile.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
String currentLine;
while((currentLine = reader.readLine()) != null) {
// trim newline when comparing with lineToRemove
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(textStr[0])) continue;
writer.write(currentLine + System.getProperty("line.separator"));
}
writer.close();
reader.close();
boolean successful = tempFile.renameTo(inputFile);
return true;
}
可有人請就如何從txt文件中刪除字符串之前和之後的字符串和幫助也行?
一個不會「刪除文件中的行」。唯一的可能性是複製文件,並且在複製文件時不寫出不需要的行。 –
你當然可以刪除一部分字符串,但像吉姆我建議不要直接使用該文件。無論如何,掃描儀無法直接寫入您處於只讀模式的文件。您可以使用java.lang.String中的替換或子字符串方法從原始文件中獲取內容並將其寫入新文件中 –
是的我正在做這樣的事情: – ToniT