1. 程式人生 > >java讀寫properties檔案,解決系統找不到指定路徑,解決寫入後讀取正常,但檔案資料未更新問題

java讀寫properties檔案,解決系統找不到指定路徑,解決寫入後讀取正常,但檔案資料未更新問題

properties屬性檔案:config.properties #
#Tue Aug 13 15:30:56 CST 2013
timeInterval=33
name=holdOn
filepath=bb
ip=192.168.1.1 類例項:Configuration.java 

package example;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

/**
 * 讀取properties配置檔案
 */
public class Configuration {
 private Properties pro;
 private FileInputStream fileInputStream;
 private FileOutputStream fileOutputStream;
 private String filepath;

 public Configuration() {
  
        //重要內容


        //測試地址
  filepath="D:\\config.properties";
  
  pro = new Properties();
  try {
   fileInputStream = new FileInputStream(filepath);
   pro.load(fileInputStream);
   fileInputStream.close();
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }

 /**
  * 得到檔案路徑
  */
 public String getfilepath() {
  return filepath;
 }

 /**
  * 根據key取得鍵值
  */
 public String getValue(String key) {
  if (pro.containsKey(key)) {
   String value = pro.getProperty(key);
   return value;
  } else {
   return "";
  }
 }


 /**
  * 改變或者新增一個key的值
  * 當key存在於properties檔案中時,修改key的值, 當key不存在時,新增鍵值對
  * @param key:要存入的鍵
  * @param value:要存入的值
  */
 public void setValue(String key, String value) {
  pro.setProperty(key, value);
 }

 /**
  * 將更改後的檔案資料存入指定的檔案中
  */
 public void saveFile(String fileName,String comments) {
  try {
   fileOutputStream = new FileOutputStream(fileName);
   pro.store(fileOutputStream, "");
   fileOutputStream.close();
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException ioe) {
   ioe.printStackTrace();
  }
 }

 /**
  * 測試方法
  */
 public static void main(String[] args) {
  
  String filename="D:\\config.properties";
  Configuration conf = new Configuration();
  
  conf.setValue("timeInterval","33");
  conf.setValue("filepath","bb");
  conf.saveFile(filename,"test");
  
  String timeInterval= conf.getValue("timeInterval");
  System.out.println(timeInterval);
  String filepath = conf.getValue("filepath");
  System.out.println(filepath);
  

 }
}

提示:例項可以正常執行,重要內容(獲取專案中properties檔案路徑)被省略,可能是您需要的,有需要的,給我發郵件,我把完整java例項打包回發給您。
我的郵箱:[email protected]

相關推薦

javaproperties檔案解決系統指定路徑解決寫入讀取正常檔案資料更新問題

properties屬性檔案:config.properties # #Tue Aug 13 15:30:56 CST 2013 timeInterval=33 name=holdOn filepath=bb ip=192.168.1.1 類例項:Configuration.java  package

Java Properties配置檔案

1.Properties類與Properties配置檔案   Properties類繼承自Hashtable類並且實現了Map介面,也是使用一種鍵值對的形式來儲存屬性集。不過Properties有特殊的地方,就是它的鍵和值都是字串型別。 2.Properties中的主要方

JavaProperties配置檔案小案例

在軟體專案開發中需要讀取配置檔案,下面就簡單的演示一下如何從配置檔案中讀取資料以及修改其中的資料   一,建立一個新的Java專案,並命名為 propertiesdemo               &n

JavaProperties 檔案

private final static String SYS_TEMP_FILE = System .getProperty("java.io.tmpdir") + "\\9884698793643198z.properties"; private static Map

Java Properties配置文件

int true copy nbsp sys util 保存時間 實現 hashtable 1.Properties類與Properties配置文件   Properties類繼承自Hashtable類並且實現了Map接口,也是使用一種鍵值對的形式來保存屬性集。不過Prop

java鎖應用在快取系統

package test; import java.util.HashMap; import java.util.Map; import java.util.Random; import java.util.concurrent.locks.ReadWriteLock;

Java專案讀取配置檔案FileNotFoundException 系統指定檔案System.getProperty("user.dir")的理解

唉,讀取個檔案,也就是在專案裡面去獲得配置檔案的目錄,然後,變成檔案,有事沒事,總是出個 FileNotFoundException  系統找不到指定的檔案,氣死人啦。 還有就是:System.getProperty("user.dir"),都說獲得的是“工作目錄”,有老鐵

MTK USB 驅動安裝時 解決系統指定檔案

正是這個檔案缺失,致使你的Arduino驅動無法安裝。從檔案的下面往上找不一定在哪裡,都能找到。2.在 C:\Windows\System32\DriverStore\FileRepository\ 路徑下,新建一個mdmcpq.inf_x86_neutral_********資料夾每臺電腦後面的標示不一樣,

SVN更新能開啟新檔案svn base系統指定檔案

                svn伺服器架設在linux系統上,svn客戶端在windows上,在update的時候可能會出現“Can't open file.  XXXX/tmp/text-base/XX.svn-base 系統找不到指定的檔案”的錯誤。  這是由於Linux伺服器上的目標檔案中存在兩個

java.lang.ClassNotFoundException(MyEclipse引入jar包到類的解決

遇到的問題:     今天在MyEclispe的Java Web工程中引入Base64的jar包,在執行時報找不到類的錯誤,但是jar包已經加到Libraries中了。錯誤截圖如下:     第一次

android平臺下執行dx.bat提示“系統指定路徑

今天學習了一下android載入技術,當用到dx重新打包工具時,提示“系統找不到指定路徑”,google半天,沒找到遇到這個錯誤的。 下面來說一下我的解決過程: 1.首先確保了安裝了 android sdk開發工具,並且adb這些常用可以使用。(我的這些功能都是正常的)

SVN提交檔案失敗:系統指定路徑

   完成程式程式碼工作後,進行SVN的檔案提交。先進行專案的更新,然後在修改的檔案上進行提交操作,發現SVN彈出提示資訊,“系統找不到指定路徑”提交失敗,如下圖:        之後,嘗試在檔案所在路徑資料夾上進行提交操作並且在這之前進行過“清理”操作,但是得

-bash: exportfs: command not found 系統到exportfs命令解決方案

最近新建了一個linux虛擬機器,在使用 exportfs -a 命令時,卻報系統找不到exportfs命令,如圖: 解決法案: step1: 分析-確定原因 先使用命令查詢整個系統中有沒有exportfs find / -name 'exportfs*'

安裝了庫編譯仍到庫的解決

記憶力不好,還是寫上 關於找不到已經安裝過的一些庫的問題。 比如我剛安裝好libnl-3.2.22,編譯的時候還是說找不到 則可以設定環境變數 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

定義測試檔案查詢目錄時路徑

  #coding=utf-8 import unittest def creatsuite():     testunit=unittest.TestSuite()     #定義測試檔案查詢目錄   

關於jsp點選a連線呼叫controller方法跳轉路徑解決辦法

1.提示找不到/WEB-INF/jsp/**.jsp             可能是springmvc的配置路徑問題,將 <property name="prefix" value="/WEB-INF/jsp/" />改成<property name="p

VS執行程式提示系統路徑問題

本人使用下列方法加清理專案,重新生成 4. 既然問題是在更新嵌入的清單檔案時發生的,由於FAT32的原因而未能更新嵌入的清單檔案,於是我們有如下兩種解決方法: (1)不啟用增量連結。在專案的“屬性|配置屬性|連結器|常規”中的“啟用增量連結”選擇“否”。此方法阻斷了

Java檔案中文亂碼解決

讀檔案:使用new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));      StringBuffer strBuf = new StringBuffer(); BufferedRead

web 專案中報錯解決java.io.FileNotFoundException: druid.properties (系統指定檔案);【spring工廠解耦開發】

使用 Tomcat9.0 ,   spring5.0框架原始工廠類解耦,druid-1.0.9jar版本,JDK9,MSQL8版本資料庫  模擬web頁面登入案例時候出現druid.properties

[轉載]javaword文檔完美解決方案

重點 app PE 列表 mage too 介紹 代碼 而且 做項目的過程中,經常需要把數據裏裏的數據讀出來,經過加工,以word格式輸出。 在網上找了很多解決方案都不太理想,偶爾發現了PageOffice,一個國產的Office插件,開發調用非常簡單!比網上介紹的poi,