1. 程式人生 > >Java讀寫登錄檔兩種方式

Java讀寫登錄檔兩種方式

一種是使用java提供的,但是隻能獲取HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs下的

另外一種是可以指定任意路徑,因為採用的是cmd的命令。

package com.reg;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.prefs.BackingStoreException;
import java.util.prefs.Preferences;

public class Registery {

    String[] keys = { "version", "initial", "creator" };
    String[] values = { "1.3", "ini.mp3", "
[email protected]
" }; // 把相應的值儲存到變數中去 public void writeValue() { // HKEY_LOCAL_MACHINE\Software\JavaSoft\prefs下寫入登錄檔值. Preferences pre = Preferences.systemRoot().node("/javaplayer"); for (int i = 0; i < keys.length; i++) { pre.put(keys[i], values[i]); } } /*** * 根據key獲取value * */ public String getValue(String key) { Preferences pre = Preferences.systemRoot().node("/javaplayer"); return pre.get(key, "time"); } /*** * 清除登錄檔 * * @throws BackingStoreException */ public void clearValue() throws BackingStoreException { Preferences pre = Preferences.systemRoot().node("/javaplayer"); pre.clear(); } public static void main(String[] args) { Registery reg = new Registery(); reg.writeValue(); System.out.println(reg.getValue("version")); // try { // reg.clearValue(); // } catch (BackingStoreException e) { // e.printStackTrace(); // } //可以讀取任意路徑下的、 try { Process ps = null; ps = Runtime.getRuntime().exec("reg query HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Prefs\\javaplayer"); ps.getOutputStream().close(); InputStreamReader i = new InputStreamReader(ps.getInputStream()); String line; BufferedReader ir = new BufferedReader(i); while ((line = ir.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } }

相關推薦

Java方式

一種是使用java提供的,但是隻能獲取HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs下的 另外一種是可以指定任意路徑,因為採用的是cmd的命令。 package com.reg; import java.io.BufferedRea

javaCSV檔案的方法

BufferedWriter writer =new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "GBK")) ;// 附加 上述程式碼片段作用: 轉碼 逗號分隔值(Com

C++

1.       登錄檔簡介 登錄檔是為Windows NT和Windows95中所有32位硬體/驅動和32位應用程式設計的資料檔案,用於儲存系統和應用程式的設定資訊。16位驅動在Winnt (Windows New Technology)下無法工作,所以所有裝置都通過登錄

【Qt】QSettings、配置檔案【轉】

簡述 一般情況下,我們在開發軟體過程中,都會快取一些資訊到本地,可以使用輕量級資料庫sqlite,也可以操作登錄檔、讀寫配置檔案。 關於QSettings的使用前面已經介紹過了,比較詳細,見“更多參考”,下面介紹下QSettings常用功能-讀寫登錄檔、配置檔案。 簡述 優點 讀

Delphi中

Delphi程式中入如何操作登錄檔,在應用程式中,經常需要對登錄檔進行各種操作,如將程式名稱、安裝路徑等資訊儲存到登錄檔中。32位Delphi程式中可利用TRegistry物件來存取登錄檔檔案中的資訊。 一、建立和釋放TRegistry物件 1.建立TRegistry物件。

VC類及用法

 程式設計過程中經常會需要對登錄檔進行讀寫操作,這個類可以讓你很方便的對登錄檔進行編輯: 1.類的原始碼,測試環境為VS2012,不同的開發環境下可能需要做適當修改。註釋為簡單的英文,很容易理解。 標頭檔案:Registry.h #ifndef __REGISTRY_H

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

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

C#txt檔案的方法介紹

1.新增名稱空間   System.IO;   System.Text; 2.檔案的讀取   (1).使用FileStream類進行檔案的讀取,並將它轉換成char陣列,然後輸出。 byte[] byData = new byte[100]; c

CAD.net 自動載入外掛dll

RegistryKey LocaIMachine = Registry.LocalMachine; RegistryKey MyPrograrm = LocaIMach

delphi在64位系統下注意事項

HKEY_LOCAL_MACHINE寫這個主鍵下的項,在64位系統下可能會重定向,所以構造時要加KEY_WOW64_64KEY reg := TRegistry.Create(KEY_WRITE or KEY_READ or KEY_WOW64_64KEY); r

win7-64位系統用QSettings

經常使用QT的QSettings了,感覺已經很熟練了,但是突然發現在64位系統上不能寫登錄檔了,最開始我以為是管理員許可權的問題,後來編譯管理員許可權之後發現沒有問題,問題出在win7 64位的重定向上了。這是我找的資料,可以參考一下 //試驗證明這樣除錯時沒有錯誤了,但是

MFC程式還是先註釋或者先清理吧!

血的教訓,浪費了大把時間除錯找問題,然而卻不知道MFC自動寫註冊帶來的巨坑有多坑。一次次讓你懷疑人生, 微軟這個設計老子真心想拍死你。 1.自動寫登錄檔,這裡說自動是建立工程自帶SetRegistryKey將巨坑埋下伏筆 2.註冊資訊不是空,講道理應該為空,但老vc都知道軟

C++ 新增環境變數

在站點搭建的時候需要安裝.zip格式的 mysq l和 php的安裝包等,需要將解壓的路徑寫入系統環境變數中,這樣方便在使用mysql或者php的時候不需要新增絕對路徑而直接使用。所以需要將安裝路徑寫入環境變數,如:D:\mywww\server\mysql\5.6\bin

Java:FileInputStream入檔案資料的方式

FileInputStream是位元組流,它的read()方法允許一個位元組一個位元組的讀入,也允許先把資料存到緩衝區位元組陣列中,再一次性讀取整個陣列——在實際開發中,通常使用後者

Java操作Windows

Microsoft Windows 9x、Windows CE、Windows NT和Windows 2000中使用的中央分層資料庫,用於儲存為一個或多個使用者、應用程式和硬體裝置配置系統所必需的資訊。 Microsoft Windows 9x、Windows CE、Wind

Java學習】java程式訪問(win10)

最近在問答社群碰到一個問題,,用java訪問“HKEY_CURRENT_USER”目錄的需求。查了很多資料,,終於搞定了,,在此做以記錄。 一,java官方API(Preferences) 首先,這個類用起來比較方便,,但是有許多限制,,只能訪問“HKE

Java IO大檔案的幾方式及測試

讀取檔案大小:1.45G 第一種,OldIO: Java程式碼 publicstaticvoid oldIOReadFile() throws IOException{ BufferedReader br = new BufferedReader(new File

Win7 C# 控制檯程式被拒,需要以管理員身份執行。

      最近寫了一個控制檯程式,將程式的相關資訊註冊到登錄檔中。但是執行的時候提示寫登錄檔被拒。電腦的當前使用者沒有管理員的許可權。         如何給控制檯程式賦管理員的許可權呢?    

java實現多線程的方式

vat nts lock name div print 創建對象 pre thread Java需要並發控制三個原因: 多線程環境 存在共享資源 多個線程操作(修改)共享資源 下面分別用繼承Thread類和實現Runnable接口倆種方式實現並發控制, 繼承Thread

Java中創建String的方式差異

ima 分享 引用 永遠 bubuko 技術分享 方式 println print 我們知道創建一個String類型的變量一般有以下兩種方法: String str1 = "abcd"; String str2 = new String("abcd"); 那麽