Bundles { public static Path setReference(Path path, URI ref) throws IOException { path = withExtension(path, DOT_URL); String iniTmpl = "[{0}]\r\n{1}={2}\r\n\r\n"; String ini = MessageFormat.format(iniTmpl, INI_INTERNET_SHORTCUT, INI_URL, ref.toASCIIString()); try (BufferedWriter w = newBufferedWriter(path, ASCII, TRUNCATE_EXISTING, CREATE)) { w.write(ini); } return path; }  static void closeAndSaveBundle(Bundle bundle, Path destination); static Path closeBundle(Bundle bundle); static void copyRecursively(final Path source,
			final Path destination, final CopyOption... copyOptions); static Bundle createBundle(); static Bundle createBundle(Path path); static void deleteRecursively(Path p); static Path getAnnotations(Bundle bundle); static Path getManifestPath(Bundle bundle); static String getMimeType(Bundle bundle); static URI getReference(Path path); static String getStringValue(Path path); static boolean isMissing(Path item); static boolean isReference(Path path); static boolean isValue(Path path); static Bundle openBundle(InputStream in); static Bundle openBundle(Path zip); static Bundle openBundle(URL url); static Bundle openBundleReadOnly(Path zip); static void safeCopy(Path source, Path destination); static void safeMove(Path source, Path destination); static void setMimeType(Bundle bundle, String mimetype); static Path setReference(Path path, URI ref); static void setStringValue(Path path, String string); static Path uriToBundlePath(Bundle bundle, URI uri);  }
@Test public void setReference() throws Exception { try (Bundle bundle = Bundles.createBundle()) { Path ref = bundle.getRoot().resolve("ref"); Bundles.setReference(ref, URI.create("http: URI uri = URI.create("http: Path f = Bundles.setReference(ref, uri); assertEquals("ref.url", f.getFileName().toString()); assertEquals(bundle.getRoot(), f.getParent()); assertFalse(Files.exists(ref)); List<String> uriLines = Files.readAllLines(f, Charset.forName("ASCII")); assertEquals(3, uriLines.size()); assertEquals("[InternetShortcut]", uriLines.get(0)); assertEquals("URL=http: assertEquals("", uriLines.get(2)); } }