@Test public void testGetPath() { assertEquals(null, FilenameUtils.getPath(null)); assertEquals("", FilenameUtils.getPath("noseperator.inthispath")); assertEquals("", FilenameUtils.getPath("/noseperator.inthispath")); assertEquals("", FilenameUtils.getPath("\\noseperator.inthispath")); assertEquals("a/b/", FilenameUtils.getPath("a/b/c.txt")); assertEquals("a/b/", FilenameUtils.getPath("a/b/c")); assertEquals("a/b/c/", FilenameUtils.getPath("a/b/c/")); assertEquals("a\\b\\", FilenameUtils.getPath("a\\b\\c")); assertEquals(null, FilenameUtils.getPath(":")); assertEquals(null, FilenameUtils.getPath("1:/a/b/c.txt")); assertEquals(null, FilenameUtils.getPath("1:")); assertEquals(null, FilenameUtils.getPath("1:a")); assertEquals(null, FilenameUtils.getPath("///a/b/c.txt")); assertEquals(null, FilenameUtils.getPath("//a")); assertEquals("", FilenameUtils.getPath("")); assertEquals("", FilenameUtils.getPath("C:")); assertEquals("", FilenameUtils.getPath("C:/")); assertEquals("", FilenameUtils.getPath("//server/")); assertEquals("", FilenameUtils.getPath("~")); assertEquals("", FilenameUtils.getPath("~/")); assertEquals("", FilenameUtils.getPath("~user")); assertEquals("", FilenameUtils.getPath("~user/")); assertEquals("a/b/", FilenameUtils.getPath("a/b/c.txt")); assertEquals("a/b/", FilenameUtils.getPath("/a/b/c.txt")); assertEquals("", FilenameUtils.getPath("C:a"));
@Test public void testGetPathNoEndSeparator() { assertEquals(null, FilenameUtils.getPath(null)); assertEquals("", FilenameUtils.getPath("noseperator.inthispath")); assertEquals("", FilenameUtils.getPathNoEndSeparator("/noseperator.inthispath")); assertEquals("", FilenameUtils.getPathNoEndSeparator("\\noseperator.inthispath"));
@Test(expected = IllegalArgumentException.class) public void testGetPath_with_nullbyte() { assertEquals("a/b/", FilenameUtils.getPath("~user/a/\u0000b/c.txt")); }
private String createUri(String uri) { try { return FileUtil.URI_SEPARATOR_CHAR + FilenameUtils.getPath(uri) + URLEncoder.encode(FilenameUtils.getBaseName(uri), StandardCharsets.UTF_8.name()) + config.getOutputExtension(); } catch (UnsupportedEncodingException e) { throw new RuntimeException("Missing UTF-8 encoding??", e); // Won't happen unless JDK is broken. } }
private String createNoExtensionUri(String uri) { try { return FileUtil.URI_SEPARATOR_CHAR + FilenameUtils.getPath(uri) + URLEncoder.encode(FilenameUtils.getBaseName(uri), StandardCharsets.UTF_8.name()) + FileUtil.URI_SEPARATOR_CHAR + "index" + config.getOutputExtension(); } catch (UnsupportedEncodingException e) { throw new RuntimeException("Missing UTF-8 encoding??", e); // Won't happen unless JDK is broken. } }
/** * Devuelve el path de un archivo ejemplo c:/carpeta1/subcarpeta1/archivo.txt * retorna /carpeta1/subcarpeta1/ * @param file nombre y path del archivo * @return el path del archivo */ public static String getPath(String file){ return FilenameUtils.getPath(file); }
/** * Return a SHA-1 based hash for the specified file, by appending the file's base name to the * hashed full path. This allows to hide the underlying file system structure. */ public static String hashFile(File mainFile) throws IOException, NoSuchAlgorithmException { String canonicalPath = mainFile.getCanonicalPath(); String mainFilePath = FilenameUtils.getPath(canonicalPath); MessageDigest md = MessageDigest.getInstance("SHA-1"); md.update(mainFilePath.getBytes()); return Hex.encodeHexString(md.digest()) + "-" + mainFile.getName(); }
private String getHdfsArtifactPath(Resource resource) { String path = null; try { path = "/" + FilenameUtils.getPath(resource.getURI().getPath()); } catch (IOException e) { } return path; }
private String createNoExtensionUri(String uri) { try { return FileUtil.URI_SEPARATOR_CHAR + FilenameUtils.getPath(uri) + URLEncoder.encode(FilenameUtils.getBaseName(uri), StandardCharsets.UTF_8.name()) + FileUtil.URI_SEPARATOR_CHAR + "index" + config.getOutputExtension(); } catch (UnsupportedEncodingException e) { throw new RuntimeException("Missing UTF-8 encoding??", e); // Won't happen unless JDK is broken. } }
private String getHdfsArtifactPath(Resource resource) { String path = null; try { path = "/" + FilenameUtils.getPath(resource.getURI().getPath()); } catch (IOException e) { } return path; }
private String createUri(String uri) { try { return FileUtil.URI_SEPARATOR_CHAR + FilenameUtils.getPath(uri) + URLEncoder.encode(FilenameUtils.getBaseName(uri), StandardCharsets.UTF_8.name()) + config.getOutputExtension(); } catch (UnsupportedEncodingException e) { throw new RuntimeException("Missing UTF-8 encoding??", e); // Won't happen unless JDK is broken. } }
private OutputStream createOutputStream() throws ConfigurationException { if (fFile != null) { String dir= FilenameUtils.getPath(fFile); if (!"".equals(dir)) { new File(dir).mkdirs(); } try { return new FileOutputStream(fFile); } catch (FileNotFoundException e) { throw new ConfigurationException("Cannot create file with name " + fFile + " for output.", e); } } else { return System.out; } }
public String rename(final String originalName, final InputStream inputStream) throws IOException { notNull(originalName); notNull(inputStream); try{ final String baseName = FilenameUtils.getBaseName(originalName); final String path = FilenameUtils.getPath(originalName); final String extension = FilenameUtils.getExtension(originalName); final String hash = getHashStrategy().getHash(inputStream); final StringBuilder sb = new StringBuilder(path).append(baseName).append("-").append(hash); if (!StringUtils.isEmpty(extension)) { sb.append(".").append(extension); } return sb.toString(); }finally{ IOUtils.closeQuietly(inputStream); } } }
@Override @SuppressWarnings("unchecked") protected Object splitMessage(Message<?> message) { Assert.state(message.getPayload() instanceof Map, "The UnZipResultSplitter supports only Map<String, Object> payload"); Map<String, Object> unzippedEntries = (Map<String, Object>) message.getPayload(); MessageHeaders headers = message.getHeaders(); List<MessageBuilder<Object>> messageBuilders = new ArrayList<MessageBuilder<Object>>(unzippedEntries.size()); for (Map.Entry<String, Object> entry : unzippedEntries.entrySet()) { String path = FilenameUtils.getPath(entry.getKey()); String filename = FilenameUtils.getName(entry.getKey()); MessageBuilder<Object> messageBuilder = MessageBuilder.withPayload(entry.getValue()) .setHeader(FileHeaders.FILENAME, filename) .setHeader(ZipHeaders.ZIP_ENTRY_PATH, path) .copyHeadersIfAbsent(headers); messageBuilders.add(messageBuilder); } return messageBuilders; }
@Override protected void handleEntry(TarArchiveEntry entry) throws IOException { String entryName = entry.getName(); final String prefixPath = FilenameUtils.getPath(entryName); ResourceId correlationId = parentId; // by default, files are correlated to the parent. // If there is a path, get the actual correlation id for its parent folder: if (!prefixPath.isEmpty()) { correlationId = directories.get(prefixPath); // If we haven't seen the path before, add the ancestor folders not yet seen: if (correlationId == null) { correlationId = processAncestorFolders(prefixPath); } } // If there is a file, submit the file: entryName = FilenameUtils.getName(entryName); if (!entryName.isEmpty()) { submit(entry, entryName, parentName, in, correlationId, originatorNodeId); } }
@Override public NodeList getResourcesXmlFragment(HttpServletRequest request, String skinXml) { final Resources skinResources = this.getResources(request, skinXml); if (skinResources == null) { logger.warn("Could not find skin file " + skinXml); return null; } final Document doc = this.documentBuilder.newDocument(); final DocumentFragment headFragment = doc.createDocumentFragment(); final String relativeRoot = request.getContextPath() + "/" + FilenameUtils.getPath(skinXml); for (final Css css : skinResources.getCss()) { appendCssNode(doc, headFragment, css, relativeRoot); } for (final Js js : skinResources.getJs()) { appendJsNode(doc, headFragment, js, relativeRoot); } return headFragment.getChildNodes(); }
@Override public Js importResource(String importBase, Js source) { final Js modifiedJsImport = new Js(); modifiedJsImport.setCompressed(source.isCompressed()); modifiedJsImport.setConditional(source.getConditional()); modifiedJsImport.setImport(source.isImport()); modifiedJsImport.setIncluded(source.getIncluded()); if (isAbsolute(source)) { modifiedJsImport.setValue(source.getValue()); } else { final String importPath = FilenameUtils.getPath(importBase); modifiedJsImport.setValue(importPath + source.getValue()); } return modifiedJsImport; }
@Override public Js importResource(String importBase, Js source) { final Js modifiedJsImport = new Js(); modifiedJsImport.setCompressed(source.isCompressed()); modifiedJsImport.setConditional(source.getConditional()); modifiedJsImport.setImport(source.isImport()); modifiedJsImport.setIncluded(source.getIncluded()); modifiedJsImport.setResource(source.isResource()); if (isAbsolute(source)) { modifiedJsImport.setValue(source.getValue()); } else { final String importPath = FilenameUtils.getPath(importBase); modifiedJsImport.setValue(importPath + source.getValue()); } return modifiedJsImport; }
@Override public Css importResource(String importBase, Css source) { final Css modifiedCssImport = new Css(); modifiedCssImport.setCompressed(source.isCompressed()); modifiedCssImport.setConditional(source.getConditional()); modifiedCssImport.setImport(source.isImport()); modifiedCssImport.setIncluded(source.getIncluded()); modifiedCssImport.setMedia(source.getMedia()); if (isAbsolute(source)) { modifiedCssImport.setValue(source.getValue()); } else { final String importPath = FilenameUtils.getPath(importBase); modifiedCssImport.setValue(importPath + source.getValue()); } return modifiedCssImport; }
@Override public Css importResource(String importBase, Css source) { final Css modifiedCssImport = new Css(); modifiedCssImport.setCompressed(source.isCompressed()); modifiedCssImport.setConditional(source.getConditional()); modifiedCssImport.setImport(source.isImport()); modifiedCssImport.setIncluded(source.getIncluded()); modifiedCssImport.setMedia(source.getMedia()); modifiedCssImport.setResource(source.isResource()); if (isAbsolute(source)) { modifiedCssImport.setValue(source.getValue()); } else { final String importPath = FilenameUtils.getPath(importBase); modifiedCssImport.setValue(importPath + source.getValue()); } return modifiedCssImport; }