1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.configuration;
19
20 import java.io.File;
21 import java.io.FileInputStream;
22 import java.io.FileOutputStream;
23 import java.io.IOException;
24 import java.io.InputStream;
25 import java.io.OutputStream;
26 import java.net.URL;
27 import java.net.URLConnection;
28 import java.net.URLStreamHandler;
29
30 /***
31 * A custom URLStreamHandler to test loading and saving configurations to non
32 * standard URLs. This handler acts like a file handler with write support.
33 *
34 * @author Emmanuel Bourg
35 * @version $Revision: 541407 $, $Date: 2007-05-24 22:03:09 +0200 (Do, 24 Mai 2007) $
36 */
37 public class FileURLStreamHandler extends URLStreamHandler
38 {
39 protected URLConnection openConnection(URL u) throws IOException
40 {
41 final File file = new File(u.getFile());
42
43 return new URLConnection(u) {
44
45 public void connect() throws IOException
46 {
47 }
48
49 public InputStream getInputStream() throws IOException
50 {
51 return new FileInputStream(file);
52 }
53
54 public OutputStream getOutputStream() throws IOException
55 {
56 return new FileOutputStream(file);
57 }
58 };
59 }
60 }