Ich habe eine Datei, die ich in eine Zeichenfolge konvertiert hat es mehrere Zeilen. Ich versuche nur, um die Position eines Verzeichnisses zu ändern, die die LinieJava-Muster-Match aus Textdatei
istDir = C: \\ Users \\ Admin \\ AppData \\ Local \ Temp
Dieser Weg könnte sein, unterschiedlich zwischen Dateien und von unbekannter Länge sein. Es wird immer
Dir = "etwas" \ Temp.
Ich bin neu jede Hilfe wird geschätzt. Ich nehme an, es ist die Flucht von Charakteren..aber ich bin mir nicht sicher, ich dachte über die Verwendung von regulären Ausdrücken, aber ich denke, dass Ill in das gleiche Problem laufen.
Erwartet
Dir = C: \\ Users \\ Admin \\ AppData \\ Lokale \\ Temp
C: \\ Users \\ Admin \\ AppData \\ Lokale \\
Dir = \\\\ LocalPC \\ LocalTemp
Actual
Dir = C: \\ Users \\ Admin \\ AppData \\ Lokale \\ Temp
C: \\ Users \\ Admin \\ AppData \\ Lokale \\
Dir = C: \\ Benutzer \\ Admin \\ AppData \\ Lokale \\ Temp
public class test
{
public String fileText;
public static void main(String[] args)
{
StartUpFile bob = new StartUpFile();
System.out.println(bob.showFile());
System.out.println(bob.temp());
bob.change();
System.out.println(bob.showFile());
}
}
public class StartUpFile
{
private String fileText;
private String newText;
/**
* Constructor for objects of class StartUpFile
*/
public StartUpFile()
{
newText = "\\\\"+"LocalPC";
fileText = "Dir=C:"+"\\\\"+"Users"+"\\\\"+"admin"+"\\\\"+"AppData"+"\\\\"+"Local"+"\\\\"+"Temp";
}
/**
* I want to ID the text bewtween "Dir=" and "Temp"
*/
public String temp()
{
int startTemp = fileText.indexOf("Dir=") + 4;
int EndTemp = fileText.indexOf("Temp");
return fileText.substring(startTemp,EndTemp);
}
/**
* show the string
*/
public String showFile()
{
return fileText;
}
/**
* swap the temp string for the newText
*/
public void change()
{
fileText = fileText.replaceAll(temp(),newText);
}
}
Ich landete mit etwas wie – Minerbob