我想编辑位于当前正在运行的jar中的配置文件。 有没有办法允许直接修改此文件或从外部复制它?
答案 0 :(得分:1)
您无法修改评论中建议的jar
runtime
jar
。我会在这里为您提供可能需要的替代方案,因此这个问题不会显示在未答复的页面中。
<强>为什么吗
当
jar
正在运行(即JVM正在使用它)时,操作系统会将文件(存档&gt;&gt;文件)锁定。当任何文件被锁定(或标记为已锁定)时,它无法更改,换句话说,它与只读文件一样好。
为什么您可能需要这样做。
人们试图写入
jar
的原因是,他们想要一个他们想要使用绝对/相对路径的文件(参考jar
文件)。
在这种情况下我们有什么选择?
因此,如果这是您的问题,您可以在
jar
的位置创建一个目录并使用它。如果您的
C:\Users\<Something>\Desktop\testDir\
位于C:\Users\<Something>\Desktop\testDir\conf\
,那么您可以创建一个目录&#39; conf&#39; (Bitmap bitmap; String directory = new_path; // I am getting path here of image like sdcard/0/emulated/image.jpg String folder_name = "abc" bitmap = BitmapFactory.decodeFile(directory); iv_6.setImageBitmap(bitmap); // image displayed here but not saving in directory. try { File f = new File(Environment.getExternalStorageDirectory() + File.separator +folder_name); f.mkdirs(); FileOutputStream fo = new FileOutputStream(f); bitmap.compress(Bitmap.CompressFormat.JPEG, 40, fo); fo.close(); }catch (Exception e) { e.printStackTrace(); }
)在这个地方。您可以在此目录中编写/创建文件,并轻松地从代码中引用它们(参考当前工作目录的路径)。