Итак, когда я пишу в файл, используя FileOutputStream
, он меняет содержимое файла, как если бы я читал его с InputStream
, я получал именно то, что написал. Однако, когда я открываю файл в каталоге ресурсов, он остается прежним, несмотря на его изменение.
Мой код:
import java.io.*;
import java.net.URISyntaxException;
import java.net.URL;
public class Program {
public static void main(String[] args) throws URISyntaxException, IOException {
String edit = "Edit2";
String fileName = "/File.txt";
URL url = Object.class.getResource(fileName);
try (FileOutputStream fos = new FileOutputStream(new File(url.toURI()))) {
fos.write(edit.getBytes());
}
try(InputStream is = Object.class.getResourceAsStream(fileName)) {
StringBuilder sb = new StringBuilder();
int read = is.read();
while (read != -1) {
sb.append((char) read);
read = is.read();
}
System.out.println(sb.toString());
}
}
}
Кстати, я использую IntelliJ ИДЕЯ, и поместите этот файл в папку ресурсов. Это просто файл .txt с содержимым Not changed
, поэтому я могу знать, был ли он перезаписан.
Я хотел бы знать, связана ли эта проблема с кодом, и если да, то как я могу это сделать? исправить это?