На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Java и реестр Windows


Самый простой способ работы в языке java с реестром windows - это с помощью внешних программ, которые уже встроены в данную операционную систему. Сегодня мы будем использовать командную строку и программу reg. Код программы, вносящей изменения в реестр:

package up7;

import java.io.*;

public class Up7 {

    private static void readWinReg (String zn) throws Exception{
    Runtime rt = Runtime.getRuntime();
    Process proc = null;
				
		try {
			proc = rt.exec("cmd");
			
		} catch (Exception exc){
			System.out.println("Консоль не запущена");
		}
		
		BufferedReader bfIn = new BufferedReader(new InputStreamReader(proc.getInputStream(), "UTF-8"));
		BufferedWriter bfOut = new BufferedWriter (new OutputStreamWriter (proc.getOutputStream(), "UTF-8"));
		
		int ir=0;
                while ( (ir = bfIn.read()) != 62 )
		{
			System.out.print((char) ir);	
		}
		
        System.out.print((char) ir);      
		bfOut.write("reg query " + zn + " /s");
		bfOut.newLine();
        bfOut.flush();
				
                while ( (ir = bfIn.read()) != 62 )
		{
			System.out.print((char) ir);	
		}  
    }
    
    private static void addWinReg (String zn, String zn2, String zn3) {
    
   String s = "cmd /C " + "reg add " + zn + " /v " + zn2 + " /t REG_SZ /d " + "\"" + zn3 + "\"";
    try {  Runtime.getRuntime().exec(s); }
    catch(Exception ex){ex.printStackTrace();}
    }
    
    private static void delWinReg (String zn, String zn2) {
    String s = "cmd /C " + "reg delete " + zn + " /v " + zn2 + " /f\r\n";
    try {  Runtime.getRuntime().exec(s); }
    catch(Exception ex){ex.printStackTrace();}
    } 
    
	public static void main(String[] args) throws Exception {   
       String rees = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Intel\\Audio"; 
       String rees2 = "name";
       String rees3 = "value";
        
       addWinReg (rees, rees2, rees3);  
       readWinReg (rees);
       delWinReg (rees, rees2);
       readWinReg (rees);
      			
	}
}
Пара комментариев по тексту программы. Здесь используются три метода: readWinReg (чтение реестра), addWinReg (добавление значения), delWinReg (удаление значения). В основном методе (void main) последовательно выполняется запись-чтение-удаление-чтение. Для примера я выбрал путь в реестре, в котором хранятся значения от компании Intel, раздел Audio. Мы записываем в этот раздел поле с названием "name" и значением "value". Тип REG_SZ - обыкновенная строка в кодировке Unicode. Если все в порядке, то сначала программа выведет что-то типа этого:

AudioDriverPresent REG_BINARY 01
name REG_SZ value
а затем:

AudioDriverPresent REG_BINARY 01
и закончит работу.

Вот так несложно можно работать с реестром windows на Java. Если у вас остались вопросы или есть какие-либо комментарии, а также требуется написать практическую работу на java, решить задачу на данном языке или необходима программа, то смело пишите на почту up777up@yandex.ru - я с удовольствием помогу вам. За небольшую плату.




тегистатьи IT, java, реестр





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




C#: NaN и IsNaN
Программы на заказ: пишем для диплома


© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.