|
|
|
какие способы указать путь к файлу в jar архиве
|
|||
|---|---|---|---|
|
#18+
кто нибудь знает более приличный способ реализовать это есть sql запросы которые находятся в простых текстовых файлах они соотвественно заключены в архив(jar file) org.lalala.sql вообщем внутри папки sql каким макаром их можно прочитать например из другого package например в классе org.ui.UserIDSQL варианты class UseIDSQL{ File file=new File("org/lalala/sql/getUseId.sql") } не подошло, вылетает FileNotFound кто нить подскажите как покрасивше да поменьше чтобы можно было их читать менее нанайским способом который я только и смог реализовать обязательно в папку где лежат sql запросы создать класс типа class LoadSQL где написать URL url=LoadSQL.class.getResource("getUserId.sql"); потом этот url превратить в uri не напарив с кодировкой не дай боже что то типа URI uri=url.toString().decode() и т.д. и только потом создавать File sqlfile=new File(uri); и наконец метод возвращяющий getFile(){return sqlfile;} полностью <code> package org.lalalal.sql; import java.net.URL; import java.net.URI; import java.io.FIle; class LoadSQL{ private URL; private URI; private File sqlfile; public LoadSQL(String filename){ url=LoadSQL.class.getResource(filename); uri=url.toString().decode(); //здесь точно на память не помню sqlfile=new File(uri); } public File getFile(){ return sqlfile; } } </code> иконки на JLabel ставятся через относительные пути и ниче работаеет а реализацию как путь к ним находится в исходниках не нашел, все куда то в недра swing уходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 13:01:25 |
|
||
|
какие способы указать путь к файлу в jar архиве
|
|||
|---|---|---|---|
|
#18+
Class.getResourceAsStream() - единственный нормальный метод для такого случая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 13:25:44 |
|
||
|
какие способы указать путь к файлу в jar архиве
|
|||
|---|---|---|---|
|
#18+
фишка ф том что при этом получается обязательно должен быть какой либо файл ф папке org.lalala.sql неважно какой например class a{} вполне достаточно в принципе работает но некрасиво как то есть еще один вариант реализации но он тоже не простой и сложнее. сложнее не в смысле в понимании и реализации а в том что запутаться легко repalaceFirt() -ом резать строку url-а (имеется ввиду получить url на sql файл из требумого package.) спасибо Blazkowicz (ник у Вас никак запомнить не могу только копи энд паст, непродуктивно и некрасиво с точки зрения повторного использования я сразу не понял как использовать Class.getResourceAsStream() до сих пор путаюсь в java.io кто кого реализует имплементирует кого в куда вставлять запутано как то вот решение в package org.lalala.sql вставить такой файл org.lalala.sql; class SQLReader{ private String query=""; public SQLReader(String filename) throws IOException{ InputStream input=SQLFile.getResourceAsStream(filename); InputStreamReader reader=new InputStreamReader(input); StringBuffer sb=new StringBuffer(500); int i; while(((i=reader.read())!=1) sb.append((char)i); query=sb.toString(); } public String getQuery(){ return query; } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2007, 08:48:40 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2146459]: |
0ms |
get settings: |
14ms |
get forum list: |
29ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
49ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
66ms |
get tp. blocked users: |
3ms |
| others: | 284ms |
| total: | 478ms |

| 0 / 0 |
