2016-11-13 91 views

回答

1

这是我从org.bukkit.plugin.java.JavaPlugin发现它似乎工作

public void saveResource(String resourcePath, boolean replace) { 
    if (resourcePath == null || resourcePath.equals("")) { 
     throw new IllegalArgumentException("ResourcePath cannot be null or empty"); 
    } 

    resourcePath = resourcePath.replace('\\', '/'); 
    InputStream in = getResource(resourcePath); 
    if (in == null) { 
     throw new IllegalArgumentException("The embedded resource '" + resourcePath + "' cannot be found"); 
    } 

    File outFile = new File(dataFolder, resourcePath); 
    int lastIndex = resourcePath.lastIndexOf('/'); 
    File outDir = new File(dataFolder, resourcePath.substring(0, lastIndex >= 0 ? lastIndex : 0)); 

    if (!outDir.exists()) { 
     outDir.mkdirs(); 
    } 

    try { 
     if (!outFile.exists() || replace) { 
      OutputStream out = new FileOutputStream(outFile); 
      byte[] buf = new byte[1024]; 
      int len; 
      while ((len = in.read(buf)) > 0) { 
       out.write(buf, 0, len); 
      } 
      out.close(); 
      in.close(); 
     } else { 
      logger.log(Level.WARNING, "Could not save " + outFile.getName() + " to " + outFile + " because " 
        + outFile.getName() + " already exists."); 
     } 
    } catch (IOException ex) { 
     logger.log(Level.SEVERE, "Could not save " + outFile.getName() + " to " + outFile, ex); 
    } 
} 
相关问题