Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java修改文件_Java_File_Properties - Fatal编程技术网

用java修改文件

用java修改文件,java,file,properties,Java,File,Properties,我试图修改文件设置中与ip对应的值。在控制台中,在我调用changeIp()后,它会打印出所需的结果,但不会更改文件 这就是我所做的: public class Settings { public static void main(String[] args){ changeIp("abc"); } public static void changeIp(String ip) { Properties ps = new Properties

我试图修改文件设置中与
ip
对应的值。在控制台中,在我调用
changeIp()
后,它会打印出所需的结果,但不会更改文件

这就是我所做的:

public class Settings {
    public static void main(String[] args){
        changeIp("abc");
    }
    public static void changeIp(String ip) {
        Properties ps = new Properties();
        // Create the file object
        File fileObj = new File("settings.txt");
        try {
            FileInputStream fis = new FileInputStream(fileObj);
            ps.load(fis);
            ps.put("ip", ip);
            System.out.println("Get A:" + ps.getProperty("ip"));

        } catch (Exception err) {
            err.printStackTrace();
        }
    }
我必须指出,该文件已经存在,并且它具有一些预设值,您必须使用这些值将属性写入文件

OutputStream os = new FileOutputStream("output-file-name.properties");
ps.store(os, "");
您必须使用将属性写入文件

OutputStream os = new FileOutputStream("output-file-name.properties");
ps.store(os, "");
ps.put(“ip”,ip)
更新堆上的
属性的值
对象,而不是硬盘中文件的值

如果要将属性对象的状态关联到文件,则需要显式地执行此操作

所以就像
ps.load(fis)
负责将状态从源加载到
Properties
对象一样,
ps.store(output,comment)
可以用于将属性状态存储在所需的输出流中,该输出流可以指向文件。

ps.put(“ip”,ip)
更新堆上的
属性的值,而不是硬盘驱动器文件中的值

如果要将属性对象的状态关联到文件,则需要显式地执行此操作


因此,就像
ps.load(fis)
负责将状态从源加载到
属性
对象一样,
ps.store(output,comment)
可以用于将属性状态存储在所需的输出流中,该输出流可以指向文件。

为什么您认为您的代码应该更改文件?哪一部分应该确保您的文件应该被更改?更改属性后,您从不保存文件。您已经读取文件,但从未写入任何内容ps.put(“ip”,ip)没有更改值吗?不,它没有(更改文件[这是您要问的]),JavaDoc没有这样说。它只改变了一个值pf
ps
,其他什么都没有。为什么你认为你的代码应该改变文件?哪一部分应该确保您的文件应该被更改?更改属性后,您从不保存文件。您已经读取文件,但从未写入任何内容ps.put(“ip”,ip)没有更改值吗?不,它没有(更改文件[这是您要问的]),JavaDoc没有这样说。它只改变一个值pf
ps
,其他什么都不改变。我如何使用它?有两种方法,参数为OutputStream、String或Writer、String?如何使用它?有两种方法,参数为OutputStream、String或Writer、String?写入时会出现错误:ps.store(fis)。它告诉我重命名store我的答案不是关于
fis
,而是关于
fos
,它将引用
FileOutputStream
。当我写入时,它给了我一个错误:ps.store(fis)。它告诉我重命名Store我的答案不是关于
fis
,而是关于
fos
,它将引用
FileOutputStream