Source Code Cross Referenced for FileManager.java in  » ERP-CRM-Financial » Personal-Finance-Manager » br » com » gfpshare » util » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » ERP CRM Financial » Personal Finance Manager » br.com.gfpshare.util 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001:        /*
002:         * Created on 07/03/2002
003:         * 
004:         * Swing Components - visit http://sf.net/projects/gfd
005:         * 
006:         * Copyright (C) 2004  Igor Regis da Silva Simões
007:         * 
008:         * This program is free software; you can redistribute it and/or
009:         * modify it under the terms of the GNU General Public License
010:         * as published by the Free Software Foundation; either version 2
011:         * of the License, or (at your option) any later version.
012:         *
013:         * This program is distributed in the hope that it will be useful,
014:         * but WITHOUT ANY WARRANTY; without even the implied warranty of
015:         * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
016:         * GNU General Public License for more details.
017:         *
018:         * You should have received a copy of the GNU General Public License
019:         * along with this program; if not, write to the Free Software
020:         * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
021:         * 
022:         */package br.com.gfpshare.util;
023:
024:        import java.io.File;
025:        import java.io.FileInputStream;
026:        import java.io.FileOutputStream;
027:        import java.io.IOException;
028:        import java.util.Date;
029:        import java.util.Vector;
030:
031:        /** 
032:         *  Class File Manager é uma classe responssável por executar operações de manipulação de arquivos no sistema de arquivos
033:         *
034:         *  @created 04 de Janeiro de 2004
035:         *  @author Igor Regis da Silva Simões
036:         */
037:        public final class FileManager {
038:
039:            /**
040:             *  Cria uma nova instancia de FileManager
041:             */
042:            public FileManager() {
043:                //Não fazemos nada
044:            }
045:
046:            /**
047:             * 	Cria um novo diretório
048:             * @param dir : O caminho completo do diretório a ser criado
049:             */
050:            public static final void mkdir(String dir) {
051:                File arq = new File(dir);
052:                arq.mkdir();
053:            }
054:
055:            /** 	
056:             * Deleta um arquivo ou diretório
057:             * @param dir : O caminho completo do diretório/arquivo a ser deletado
058:             */
059:            public static final void delete(String dir) {
060:                File arq = new File(dir);
061:                arq.delete();
062:            }
063:
064:            /** Lista o conteúdo de um diretório
065:             * @return Retorna um array contendo os nomes dos arquivos/diretórios contidos no diretório
066:             * @param dir : O caminho completo do diretório o quel se deseja listar o conteúdo.
067:             */
068:            public static final String[] list(String dir) {
069:                File arq = new File(dir);
070:                return arq.list();
071:            }
072:
073:            /** Indica o menor arquivo de um conjunto
074:             * @return Retorna um File que referencia o menor arquivo da comparação.
075:             * @param dir : O caminho completo do diretório o qual o conteúdo deve ser pesquisado
076:             * @param extension : A extensão de arquivo a servir de filtro para a pesquisa.
077:             */
078:            public static final File getMenorFile(String dir, String extension) {
079:                File arq = new File(dir);
080:                File[] arquivos = arq.listFiles();
081:                File menor = null;
082:
083:                int len = 0;
084:                for (int i = 0; i < arquivos.length; i++)
085:                    if ((getExtension(arquivos[i])).equals(extension))
086:                        len++;
087:
088:                File[] temp = new File[len];
089:
090:                int j = 0;
091:                for (int i = 0; i < arquivos.length; i++)
092:                    if ((getExtension(arquivos[i])).equals(extension)) {
093:                        temp[j] = arquivos[i];
094:                        j++;
095:                    }
096:
097:                if (temp.length == 1)
098:                    return temp[0];
099:                else if (temp.length == 0)
100:                    return null;
101:
102:                menor = temp[0];
103:                for (int i = 0; i < temp.length - 1; i++)
104:                    if (menor.length() > temp[i + 1].length())
105:                        menor = temp[i + 1];
106:
107:                return menor;
108:            }
109:
110:            /** Retorna o arquivo mais novo de um diretório
111:             * @return Retorna um File referenciando o arquivo mais novo
112:             * @param dir : O caminho completo do diretório o qual o conteúdo deve ser pesquisado
113:             * @param extention : A extensão de arquivo a servir de filtro para a pesquisa.
114:             */
115:            public static final File getNewerFile(String dir, String extention) {
116:                File arq = new File(dir);
117:                File[] arquivos = arq.listFiles();
118:                File maior = null;
119:
120:                int len = 0;
121:
122:                for (int i = 0; i < arquivos.length; i++)
123:                    if ((getExtension(arquivos[i])).equals(extention))
124:                        len++;
125:
126:                if (len == 0)
127:                    return null;
128:                File[] temp = new File[len];
129:
130:                int j = 0;
131:                for (int i = 0; i < arquivos.length; i++)
132:                    if ((getExtension(arquivos[i])).equals(extention)) {
133:                        temp[j] = arquivos[i];
134:                        j++;
135:                    }
136:
137:                if (temp.length == 1)
138:                    return temp[0];
139:
140:                maior = temp[0];
141:                for (int i = 0; i < temp.length - 1; i++)
142:                    if (maior.lastModified() < temp[i + 1].lastModified())
143:                        maior = temp[i + 1];
144:
145:                return maior;
146:            }
147:
148:            /** Retorna o arquivo mais velho de um diretório
149:             * @return Reotrna um array de File contendo referências para os arquivos filtrados
150:             * @param date Data até qual os arqivos devem estar modificados para serem considerados
151:             * @param dir : O caminho completo do diretório o qual o conteúdo deve ser pesquisado
152:             * @param extention : A extensão de arquivo a servir de filtro para a pesquisa.
153:             */
154:            public static final File[] getOldestFiles(String dir,
155:                    String extention, Date date) {
156:                File arq = new File(dir);
157:                File[] arquivos = arq.listFiles();
158:
159:                int len = 0;
160:
161:                for (int i = 0; i < arquivos.length; i++)
162:                    if ((getExtension(arquivos[i])).equals(extention))
163:                        len++;
164:
165:                if (len == 0)
166:                    return null;
167:                File[] temp = new File[len];
168:
169:                int j = 0;
170:                for (int i = 0; i < arquivos.length; i++)
171:                    if ((getExtension(arquivos[i])).equals(extention)) {
172:                        temp[j] = arquivos[i];
173:                        j++;
174:                    }
175:
176:                int arqs = 0;
177:                for (int i = 0; i < temp.length; i++)
178:                    if (temp[i].lastModified() < date.getTime())
179:                        arqs++;
180:
181:                File[] resultado = new File[arqs];
182:                int indice = 0;
183:                for (int i = 0; i < temp.length; i++)
184:                    if (temp[i].lastModified() < date.getTime())
185:                        resultado[indice++] = temp[i];
186:
187:                return resultado;
188:            }
189:
190:            /** Retorna a extensão de um arquivo
191:             * @return Retorna uma String com a extenção do arquivo
192:             * @param f File referenciando o arquivo do qual se quer extrtair a extenção
193:             */
194:            public static final String getExtension(File f) {
195:                int i = f.getName().lastIndexOf('.');
196:
197:                if (i > 0 && i < f.getName().length() - 1)
198:                    return f.getName().substring(i + 1).toLowerCase();
199:                return " ";
200:            }
201:
202:            /** Retorna a extensão de um arquivo
203:             * @return Retorna uma String com a extenção do arquivo
204:             * @param f File referenciando o arquivo do qual se quer extrtair a extenção
205:             */
206:            public static final String getExtension(String f) {
207:                int i = f.lastIndexOf('.');
208:
209:                if (i > 0 && i < f.length() - 1)
210:                    return f.substring(i + 1).toLowerCase();
211:                return " ";
212:            }
213:
214:            /** 	Move um arquivo.
215:             * 	<BR>Nota: Pode ser usado para renomear um arquivo.
216:             * @param from : O caminho completo do arquivo a ser movido
217:             * @param to : O caminho completo do destino do arquivo, incluindo o nome do arquivo.
218:             */
219:            public static final void move(String from, String to) {
220:                File arq = new File(from);
221:                File destino = new File(to);
222:                arq.renameTo(destino);
223:            }
224:
225:            /** 	Copia um arquivo para um determinado diretório. <BR>Note: O nome do outrro arquivo pode ser mudado.
226:             * @param from : O caminho completo do arquivo a ser copiado
227:             * @param to : O caminh completo do destino da cópia do arquivo, incluindo o nome do arquivo.
228:             * @throws IOException Lança uma exceção se houver falha na operação
229:             */
230:            public static final void copy(String from, String to)
231:                    throws IOException {
232:                File tamanho = new File(from);
233:                byte[] transf = new byte[(int) tamanho.length()];
234:
235:                FileInputStream arq = new FileInputStream(from);
236:                FileOutputStream destino = new FileOutputStream(to);
237:
238:                arq.read(transf);
239:                destino.write(transf);
240:            }
241:
242:            /**
243:             * 	Deleta uma árvore de diretórios.
244:             * @param tree : O caminho completo do diretório a ser deletado.
245:             * @throws IOException Lança uma exceção se houver falha na operação
246:             */
247:            public static final void deleteTree(String tree) throws IOException {
248:                File arq = new File(tree);
249:                String[] content = arq.list();
250:
251:                for (int i = 0; i < content.length; i++) {
252:                    File innerArq = new File(tree + File.separator + content[i]);
253:
254:                    if (innerArq.isDirectory()
255:                            && (innerArq.getAbsolutePath()).equals(innerArq
256:                                    .getCanonicalPath())) {
257:                        deleteTree(innerArq.getPath());
258:                        delete(innerArq.getPath());
259:                    } else {
260:                        delete(innerArq.getPath());
261:                    }
262:                }
263:                delete(tree);
264:            }
265:
266:            /** Deleta o conteúdo de um diretório (exeto outros diretórios)
267:             * @param path O caminho completo do diretóro cuje o conteúdo deve ser deletado.
268:             */
269:            public static final void deleteContentFiles(String path) {
270:                File arq = new File(path);
271:                String[] content = arq.list();
272:
273:                for (int i = 0; i < content.length; i++) {
274:                    File innerArq = new File(path + File.separator + content[i]);
275:                    if (innerArq.isFile())
276:                        innerArq.delete();
277:                }
278:            }
279:
280:            /**
281:             * Executa a mesma função de um comando de ls - R ou dir /s com uma extensão 
282:             * de arquivo a ser procurado.
283:             * @param dir Diretorio por onde se deseja realizar a busca.
284:             * @param extensao Exntesão do arquivo que se deseja encontrar
285:             * @return Object[] com a lista de caminho completo para os arquivos que atendem o critério da pesquisa
286:             */
287:            public static final Object[] lsMenosR(String dir, String extensao) {
288:                File arq = new File(dir);
289:                String[] content = arq.list();
290:                Vector resultado = new Vector();
291:
292:                for (int i = 0; i < content.length; i++) {
293:                    File innerArq = new File(dir + File.separator + content[i]);
294:                    if (innerArq.isFile()) {
295:                        if (content[i].endsWith(extensao))
296:                            resultado.add(dir + File.separator + content[i]);
297:                    } else {
298:                        Object[] resultadoRecursivo = lsMenosR(innerArq
299:                                .getAbsolutePath(), extensao);
300:                        for (int j = 0; j < resultadoRecursivo.length; j++) {
301:                            resultado.add(resultadoRecursivo[j]);
302:                        }
303:                    }
304:                }
305:                return resultado.toArray();
306:            }
307:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.