Your browser does not support JavaScript and this site utilizes JavaScript to build content and provide links to additional information. You should either enable JavaScript in your browser settings or use a browser that supports JavaScript in order to take full advantage of this site.
1 package org.jicengine.io; 2 3 import java.io.*; 4 5 17 18 public abstract class AbstractResource implements Resource { 19 20 private String identifier; 21 private String mimeType; 22 23 26 protected AbstractResource(String identifier) 27 { 28 this.identifier = identifier; 29 } 30 31 public abstract InputStream getInputStream() throws IOException; 32 33 45 public Reader getReader() throws IOException 46 { 47 return new InputStreamReader(getInputStream()); 48 } 49 50 62 public boolean isAvailable() 63 { 64 try { 65 getInputStream(); 66 return true; 67 } catch (IOException e){ 68 return false; 69 } 70 } 71 72 public void writeTo(OutputStream out) throws IOException 73 { 74 InputStream in = getInputStream(); 75 int i; 76 while ((i = in.read()) != -1) { 77 out.write(i); 78 } 79 out.close(); 80 in.close(); 81 } 82 83 public void writeTo(Writer writer) throws IOException 84 { 85 Reader reader = getReader(); 86 BufferedReader buffReader; 87 if( reader instanceof BufferedReader ){ 88 buffReader = (BufferedReader) reader; 89 } 90 else { 91 buffReader = new BufferedReader(reader); 92 } 93 94 BufferedWriter buffWriter; 95 if( writer instanceof BufferedWriter ){ 96 buffWriter = (BufferedWriter) writer; 97 } 98 else { 99 buffWriter = new BufferedWriter(writer); 100 } 101 102 String line; 103 while ((line = buffReader.readLine()) != null) { 104 buffWriter.write(line); 105 buffWriter.write("\n"); 106 } 107 buffWriter.close(); 108 buffReader.close(); 109 } 110 111 public String getIdentifier() 112 { 113 return this.identifier; 114 } 115 116 public void setMimeType(String mimeType) 117 { 118 this.mimeType = mimeType; 119 } 120 121 124 public String getMimeType() 125 { 126 return this.mimeType; 127 } 128 129 public abstract Resource getResource(String relativePath) throws IOException; 130 131 134 public String toString() 135 { 136 return getIdentifier(); 137 } 138 } 139
| Popular Tags
|