当前位置: 首页>>代码示例>>Java>>正文


Java IOUtils类代码示例

本文整理汇总了Java中com.gemstone.gemfire.internal.util.IOUtils的典型用法代码示例。如果您正苦于以下问题:Java IOUtils类的具体用法?Java IOUtils怎么用?Java IOUtils使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


IOUtils类属于com.gemstone.gemfire.internal.util包,在下文中一共展示了IOUtils类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: start

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
/**
 * After parsing the command line arguments, spawn the Java VM that will host the GemFire JMX Agent.
 */
public void start(final String[] args) throws Exception {
  final Map<String, Object> options = getStartOptions(args);

  workingDirectory = IOUtils.tryGetCanonicalFileElseGetAbsoluteFile((File) options.get(DIR));

  // verify that any GemFire JMX Agent process has been properly shutdown and delete any remaining status files...
  verifyAndClearStatus();

  // start the GemFire JMX Agent process...
  runCommandLine(options, buildCommandLine(options));

  // wait for the GemFire JMX Agent process to complete startup and begin running...
  // it is also possible the Agent process may fail to start, so this should not wait indefinitely unless
  // the status file was not successfully written to
  pollAgentUntilRunning();

  System.exit(0);
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:22,代码来源:AgentLauncher.java

示例2: server

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
/**
 * Starts the GemFire JMX Agent "server" process with the given command line arguments.
 */
public void server(final String[] args) throws Exception {
  final Map<String, Object> options = getServerOptions(args);

  // make the process a UNIX daemon if possible
  String errMsg = makeDaemon();

  workingDirectory = IOUtils.tryGetCanonicalFileElseGetAbsoluteFile((File) options.get(DIR));

  Status status = createStatus(this.basename, STARTING, OSProcess.getId());
  status.msg = errMsg;
  writeStatus(status);

  Agent agent = startAgentVM((Properties) options.get(AGENT_PROPS), status);

  // periodically check and see if the JMX Agent has been told to stop
  pollAgentForPendingShutdown(agent);
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:21,代码来源:AgentLauncher.java

示例3: getStopOptions

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
/**
 * Extracts configuration information for stopping a agent based on the
 * contents of the command line.  This method can also be used with getting
 * the status of a agent.
 */
protected Map<String, Object> getStopOptions(final String[] args) throws Exception {
  final Map<String, Object> options = new HashMap<String, Object>();

  options.put(DIR, IOUtils.tryGetCanonicalFileElseGetAbsoluteFile(new File(".")));

  for (final String arg : args) {
    if (arg.equals("stop") || arg.equals("status")) {
      // expected
    }
    else if (arg.startsWith("-dir=")) {
      processDirOption(options, arg.substring("-dir=".length()));
    }
    else {
      throw new Exception(LocalizedStrings.AgentLauncher_UNKNOWN_ARGUMENT_0.toLocalizedString(arg));
    }
  }

  return options;
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:25,代码来源:AgentLauncher.java

示例4: readStatus

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
/**
 * Reads the GemFire JMX Agent's status from the status file (.agent.ser) in it's working directory.
 * <p/>
 * @return a Status object containing the state persisted to the .agent.ser file in the working directory
 * and representing the status of the Agent
 * @throws IOException if the status file was unable to be read.
 * @throws RuntimeException if the class of the object written to the .agent.ser file is not of type Status.
 */
protected Status readStatus() throws IOException {
  FileInputStream fileIn = null;
  ObjectInputStream objectIn = null;

  try {
    fileIn = new FileInputStream(new File(workingDirectory, statusFileName));
    objectIn = new ObjectInputStream(fileIn);
    this.status = (Status) objectIn.readObject();
    return this.status;
  }
  catch (ClassNotFoundException e) {
    throw new RuntimeException(e);
  }
  finally {
    IOUtils.close(objectIn);
    IOUtils.close(fileIn);
  }
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:27,代码来源:AgentLauncher.java

示例5: writeStatus

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
/**
 * Sets the status of the GemFire JMX Agent by serializing a <code>Status</code> object to a status file
 * in the Agent's working directory.
 * <p/>
 * @param status the Status object representing the state of the Agent process to persist to disk.
 * @return the written Status object.
 * @throws IOException if the Status could not be successfully persisted to disk.
 */
public Status writeStatus(final Status status) throws IOException {
  FileOutputStream fileOut = null;
  ObjectOutputStream objectOut = null;

  try {
    fileOut = new FileOutputStream(new File(workingDirectory, statusFileName));
    objectOut = new ObjectOutputStream(fileOut);
    objectOut.writeObject(status);
    objectOut.flush();
    this.status = status;
    return this.status;
  }
  finally {
    IOUtils.close(objectOut);
    IOUtils.close(fileOut);
  }
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:26,代码来源:AgentLauncher.java

示例6: convert

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
/**
 * Converts the array of Resources into a 2-dimensional byte array containing content from each Resource.
 * The 2-dimensional byte array format is used by Gfsh and the GemFire Manager to transmit file data.
 * <p/>
 * @param resources an array of Spring Resource objects to convert into the 2-dimensional byte array format.
 * @return a 2-dimensional byte array containing the content of each Resource.
 * @throws IllegalArgumentException if the filename of a Resource was not specified.
 * @throws IOException if an I/O error occurs reading the contents of a Resource!
 * @see org.springframework.core.io.Resource
 */
public static byte[][] convert(final Resource... resources) throws IOException {
  if (resources != null) {
    final List<byte[]> fileData = new ArrayList<byte[]>(resources.length * 2);

    for (final Resource resource : resources) {
      if (StringUtils.isBlank(resource.getFilename())) {
        throw new IllegalArgumentException(String.format("The filename of Resource (%1$s) must be specified!",
          resource.getDescription()));
      }

      fileData.add(resource.getFilename().getBytes());
      fileData.add(IOUtils.toByteArray(resource.getInputStream()));
    }

    return fileData.toArray(new byte[fileData.size()][]);
  }

  return new byte[0][];
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:30,代码来源:ConvertUtils.java

示例7: getToolsJarPath

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
protected String getToolsJarPath() throws AttachAPINotFoundException {
  String toolsJarPathname = null;

  if (!SystemUtils.isMacOSX()) {
    toolsJarPathname = IOUtils.appendToPath(JAVA_HOME, "lib", "tools.jar");

    if (!IOUtils.isExistingPathname(toolsJarPathname)) {
      // perhaps the java.home System property refers to the JRE ($JAVA_HOME/jre)...
      final String JDK_HOME = new File(JAVA_HOME).getParentFile().getPath();
      toolsJarPathname = IOUtils.appendToPath(JDK_HOME, "lib", "tools.jar");
    }

    try {
      IOUtils.verifyPathnameExists(toolsJarPathname);
    }
    catch (IOException e) {
      throw new AttachAPINotFoundException(getAttachAPINotFoundMessage());
    }
  }

  return toolsJarPathname;
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:23,代码来源:LauncherLifecycleCommands.java

示例8: readPid

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
/**
 * Reads in the pid from the specified file.
 * 
 * @param pidFile the file containing the pid of the process to stop
 * 
 * @return the process id (pid) contained within the pidFile
 * 
 * @throws IllegalArgumentException if the pid in the pidFile is not a positive integer
 * @throws IOException if unable to read from the specified file
 * @throws NumberFormatException if the pid file does not contain a parsable integer
 */
private static int readPid(final File pidFile) throws IOException {
  BufferedReader fileReader = null;
  String pidValue = null;

  try {
    fileReader = new BufferedReader(new FileReader(pidFile));
    pidValue = fileReader.readLine();

    final int pid = Integer.parseInt(pidValue);

    if (pid < 1) {
      throw new IllegalArgumentException("Invalid pid '" + pid + "' found in " + pidFile);
    }

    return pid;
  }
  catch (NumberFormatException e) {
    throw new IllegalArgumentException("Invalid pid '" + pidValue + "' found in " + pidFile);
  }
  finally {
    IOUtils.close(fileReader);
  }
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:35,代码来源:LocalProcessController.java

示例9: readPid

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
/**
 * Reads in the pid from the specified file.
 * 
 * @param pidFile the file containing the pid of the process to stop
 * 
 * @return the process id (pid) contained within the pidFile
 * 
 * @throws IllegalArgumentException if the pid in the pidFile is not a positive integer
 * @throws IOException if unable to read from the specified file
 * @throws NumberFormatException if the pid file does not contain a parsable integer
 */
private static int readPid(File pidFile) throws IOException {
  BufferedReader fileReader = null;
  String pidValue = null;

  try {
    fileReader = new BufferedReader(new FileReader(pidFile));
    pidValue = fileReader.readLine();

    final int pid = Integer.parseInt(pidValue);

    if (pid < 1) {
      throw new IllegalArgumentException("Invalid pid '" + pid + "' found in " + pidFile.getCanonicalPath());
    }

    return pid;
  }
  catch (NumberFormatException e) {
    throw new IllegalArgumentException("Invalid pid '" + pidValue + "' found in " + pidFile.getCanonicalPath());
  }
  finally {
    IOUtils.close(fileReader);
  }
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:35,代码来源:ProcessControllerFactory.java

示例10: writeStatus

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
/**
 * Sets the status of a cache server by serializing a <code>Status</code>
 * instance to a file in the server's working directory.
 */
public void writeStatus(final Status s) throws IOException {
  final File statusFile = new File(workingDir, statusName);
  ByteArrayOutputStream bos = new ByteArrayOutputStream();
  ObjectOutput out = null;
  RandomAccessFile raFile = null;
  try {
    if (!statusFile.exists()) {
      NativeCalls.getInstance().preBlow(statusFile.getAbsolutePath(), 2048,
          true);
    }
    raFile = new RandomAccessFile(statusFile.getAbsolutePath(), "rw");
    out = new ObjectOutputStream(bos);
    out.writeObject(s);
    raFile.write(bos.toByteArray());
  } finally {
    if (out != null) {
      try {
        out.close();
      } catch (IOException ignore) {
      }
    }
    bos.close();
    IOUtils.close(raFile);
  }
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:30,代码来源:CacheServerLauncher.java

示例11: testReadInternal

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
@Test
public void testReadInternal() throws IOException {
  final String expectedInputMessageBody = "Expected content of the HTTP input message body!";

  final HttpInputMessage mockInputMessage = mockContext.mock(HttpInputMessage.class, "HttpInputMessage");

  mockContext.checking(new Expectations() {{
    oneOf(mockInputMessage).getBody();
    will(returnValue(new ByteArrayInputStream(IOUtils.serializeObject(expectedInputMessageBody))));
  }});

  final SerializableObjectHttpMessageConverter converter = new SerializableObjectHttpMessageConverter();

  final Serializable obj = converter.readInternal(String.class, mockInputMessage);

  assertTrue(obj instanceof String);
  assertEquals(expectedInputMessageBody, obj);
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:19,代码来源:SerializableObjectHttpMessageConverterJUnitTest.java

示例12: testConvertFileData

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
@Test
public void testConvertFileData() throws IOException {
  final String[] filenames = { "/path/to/file1.ext", "/path/to/another/file2.ext" };
  final String[] fileContent = { "This is the contents of file 1.", "This is the contents of file 2." };

  final List<byte[]> fileData = new ArrayList<byte[]>(2);

  for (int index = 0; index < filenames.length; index++) {
    fileData.add(filenames[index].getBytes());
    fileData.add(fileContent[index].getBytes());
  }

  final Resource[] resources = ConvertUtils.convert(fileData.toArray(new byte[fileData.size()][]));

  assertNotNull(resources);
  assertEquals(filenames.length, resources.length);

  for (int index = 0; index < resources.length; index++) {
    assertEquals(filenames[index], resources[index].getFilename());
    assertEquals(fileContent[index], new String(IOUtils.toByteArray(resources[index].getInputStream())));
  }
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:23,代码来源:ConvertUtilsJUnitTest.java

示例13: testConvertResource

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
@Test
public void testConvertResource() throws IOException {
  final Resource[] resources = {
    createResource("/path/to/file1.txt", "Contents of file1.".getBytes()),
    createResource("/path/to/file2.txt", "Contents of file2.".getBytes())
  };

  final byte[][] fileData = ConvertUtils.convert(resources);

  assertNotNull(fileData);
  assertEquals(resources.length * 2, fileData.length);

  for (int index = 0; index < fileData.length; index += 2) {
    assertEquals(resources[index / 2].getFilename(), new String(fileData[index]));
    assertEquals(new String(IOUtils.toByteArray(resources[index / 2].getInputStream())), new String(fileData[index + 1]));
  }
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:18,代码来源:ConvertUtilsJUnitTest.java

示例14: testSetAndGetWorkingDirectory

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
@Test
public void testSetAndGetWorkingDirectory() {
  final Builder builder = new Builder();

  assertEquals(AbstractLauncher.DEFAULT_WORKING_DIRECTORY, builder.getWorkingDirectory());
  assertSame(builder, builder.setWorkingDirectory(null));
  assertEquals(AbstractLauncher.DEFAULT_WORKING_DIRECTORY, builder.getWorkingDirectory());
  assertSame(builder, builder.setWorkingDirectory(""));
  assertEquals(AbstractLauncher.DEFAULT_WORKING_DIRECTORY, builder.getWorkingDirectory());
  assertSame(builder, builder.setWorkingDirectory("  "));
  assertEquals(AbstractLauncher.DEFAULT_WORKING_DIRECTORY, builder.getWorkingDirectory());
  assertSame(builder, builder.setWorkingDirectory(System.getProperty("user.dir")));
  assertEquals(System.getProperty("user.dir"), builder.getWorkingDirectory());
  assertSame(builder, builder.setWorkingDirectory(System.getProperty("java.io.tmpdir")));
  assertEquals(IOUtils.tryGetCanonicalPathElseGetAbsolutePath(new File(System.getProperty("java.io.tmpdir"))),
    builder.getWorkingDirectory());
  assertSame(builder, builder.setWorkingDirectory(null));
  assertEquals(AbstractLauncher.DEFAULT_WORKING_DIRECTORY, builder.getWorkingDirectory());
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:20,代码来源:LocatorLauncherJUnitTest.java

示例15: getBackupDir

import com.gemstone.gemfire.internal.util.IOUtils; //导入依赖的package包/类
/**
 * Locates a previously created backup directory associated with an online backup counter.
 * @param counter a ParRegBB.onlineBackupNumber
 * @throws TestException a backup directory could not be located or was malformed (not a directory or contains no children or too many children).
 */
private static String getBackupDir(long counter) {
  File backupDir = new File("backup_" + counter);

  if(!backupDir.exists()) {
    throw new TestException("PersistenceUtil#getBackupDir: Backup directory " + backupDir.getName() + " does not exist.");
  }
  
  File[] files = backupDir.listFiles();
  
  if((null == files) || (files.length != 1)) {
    throw new TestException("PersistenceUtil#getBackupDir: Backup directory " + backupDir.getName() + " is malformed or is not a directory");      
  }
  
  return IOUtils.tryGetCanonicalFileElseGetAbsoluteFile(files[0]).getAbsolutePath();
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:21,代码来源:PersistenceUtil.java


注:本文中的com.gemstone.gemfire.internal.util.IOUtils类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。