用户可以在jar中打开文本文件并对其进行更改吗?



我需要在jar中放入一个文本文件。当用户运行jar时,将出现一个登录屏幕。一旦他登录并验证了自己,就会出现一个文本文件,他应该能够在其中写入并保存它。我完成了登录和身份验证部分,谁能帮我编码只有部分,其中文本文件被打开,用户有权在其中写入并保存它?

你可以这样做,但是不要直接修改文件。如果由于某种原因写入修改后的内容失败,您将丢失原始文件和修改后的文件。

创建一个临时文件,存放修改后的内容,然后替换原来的文件。

的例子:

final Map<String, String> = Collections.emptyMap();
final URI zip = URI.create("jar:file:/path/to/your/jar");
final FileSystem zipfs = FileSystems.newFileSystem(zip, env);
final Path tempFile = Files.createTempFile("tmp", "txt");
final Path srcfile = zipfs.getPath("path/of/file/into/jar");
final Path renamed = srcfile.resolveSibling("newfile");
// read contents of source file, for instance Files.newBufferedReader(), or
// Files.readAllLines(); then write the modified content into tempFile; and
// when done:
Files.copy(tempFile, renamed);
Files.delete(tempFile);
Files.move(renamed, srcfile, StandardCopyOption.REPLACE_EXISTING);
zipfs.close(); // <-- don't forget that

注意对原始文件的重命名是最后一个操作。

相关内容

  • 没有找到相关文章

最新更新