스캐너 클래스가있는 텍스트 파일에서 특정 텍스트 (예 : 단어)를 검색 할 수있는 코드를 작성했지만 이전 텍스트도 새 텍스트)를 동일한 이전 텍스트 위치에 표시합니다. 인터넷에서 replaceAll 메서드 (replaceAll (old, new);) 을 사용해야하지만 스캐너 클래스에서는 작동하지 않습니다.스캐너 클래스가있는 텍스트 파일의 특정 텍스트 변경
이것은 내 코드입니다. 이전 코드를 변경하지 않고 새 줄에 새 텍스트를 작성하면됩니다.
양식 스캐너를 FileReader로 변경해야합니까 ??
File file = new File("C:\\Users....file.txt");
Scanner input = new Scanner(System.in);
System.out.println("Enter the content you want to change:");
String Uinput = input.nextLine();
System.out.println("You want to change it to:");
String Uinput2 = input.nextLine();
Scanner scanner = new Scanner(file).useDelimiter(",");
BufferedWriter writer = new BufferedWriter(new FileWriter(file, true));
while (scanner.hasNextLine()) {
String lineFromFile = scanner.next();
if (lineFromFile.contains(Uinput)) {
lineFromFile = Uinput2;
writer.write(lineFromFile);
writer.close();
System.out.println("changed " + Uinput + " tO " + Uinput2);
break;
}
else if (!lineFromFile.contains(Uinput)){
System.out.println("Don't found " + Uinput);
break;
}
}
1. 파일의 모든 내용 (파일에서 읽기)을 가져 와서 데이터 구조에 저장하십시오. 2 내용을 변경하십시오. 3 변경된 내용을 파일에 저장합니다 (파일에 쓰기). – Sedrick
데이터 구조는 무엇을 의미합니까? 어떻게이 구조를 만들지 – khaledgg7
'String' 또는'List'. 이 경우 나는'List '쪽으로 기울고있다. –
Sedrick