jnlppreferencesservice.java
来自「用java实现UML建模,由高手编写..适合有一定能力的java程序员学习」· Java 代码 · 共 106 行
JAVA
106 行
package com.horstmann.violet.framework;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.MalformedURLException;import java.net.URL;import javax.jnlp.BasicService;import javax.jnlp.FileContents;import javax.jnlp.ServiceManager;import javax.jnlp.PersistenceService;import javax.jnlp.UnavailableServiceException;/** * A preferences service that uses WebStart "muffins". */public class JNLPPreferencesService extends PreferencesService{ /** * Gets an instance of the service, with storage location derived from the JNLP code base. * @return an instance of the service */ public JNLPPreferencesService() { try { service = (PersistenceService) ServiceManager.lookup("javax.jnlp.PersistenceService"); } catch (UnavailableServiceException ex) { ex.printStackTrace(); } } public String get(String key, String defval) { try { BasicService basic = (BasicService) ServiceManager.lookup("javax.jnlp.BasicService"); URL codeBase = basic.getCodeBase(); PersistenceService service = (PersistenceService) ServiceManager.lookup("javax.jnlp.PersistenceService"); URL keyURL = new URL(codeBase, key); FileContents contents = service.get(keyURL); InputStream in = contents.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); String r = reader.readLine(); if (r != null) return r; } catch (UnavailableServiceException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return defval; } public void put(String key, String value) { try { BasicService basic = (BasicService) ServiceManager.lookup("javax.jnlp.BasicService"); URL codeBase = basic.getCodeBase(); PersistenceService service = (PersistenceService) ServiceManager.lookup("javax.jnlp.PersistenceService"); URL keyURL = new URL(codeBase, key); try { service.delete(keyURL); } catch (Exception ex) {} byte[] bytes = value.getBytes("UTF-8"); service.create(keyURL, bytes.length); FileContents contents = service.get(keyURL); OutputStream out = contents.getOutputStream(true); out.write(bytes); out.close(); } catch (UnavailableServiceException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public boolean isWebStart() { return true; } private PersistenceService service;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?