我试图创建一种方法从我的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