Nome de arquivos

10 respostas
A

Olá pessoal

Eu preciso de um metodo em java que eu selecione os nomes dos arquivos dos arquivos de acordo com a string informada, por exemplo:

getArquivos(diretorio, <em>.txt");

getArquivos(diretorio, "</em>.<em>");

getArquivos(diretorio, "ata</em>.<em>");

getArquivos(diretorio, “ta???.doc”);

getArquivos(diretorio, "???teste.</em>”);

para trazer todos os arquivos é tranquilo.

Como faço para fazer um metodo genérico que passe uma string e traga o arquivo de acordo com a string especificada.

10 Respostas

RRaminelli
Anonymous:
Olá pessoal

Eu preciso de um metodo em java que eu selecione os nomes dos arquivos dos arquivos de acordo com a string informada, por exemplo:

getArquivos(diretorio, "*.txt");
getArquivos(diretorio, "*.*");
getArquivos(diretorio, "ata*.*");
getArquivos(diretorio, "ta???????.doc");
getArquivos(diretorio, "???teste.*");

para trazer todos os arquivos é tranquilo.

Como faço para fazer um metodo genérico que passe uma string e traga o arquivo de acordo com a string especificada.

Você poderá utilizar:

Chame o método: String s = arquivo("C:\arq.txt");

[code]

public String arquivo(String caminho_do_arquivo){
String S = null;
try
{
FileInputStream in = new FileInputStream(caminho_do_arquivo);
byte bt[] = new byte[10240];
in.read(bt);
S = new String(bt);
in.close();
}
catch(java.io.IOException exc)
{
System.out.println("Erro ao ler o arquivo");
}
return S;
}

pcalcado

Anonymous:
Olá pessoal

Eu preciso de um metodo em java que eu selecione os nomes dos arquivos dos arquivos de acordo com a string informada, por exemplo:

getArquivos(diretorio, <em>.txt");

getArquivos(diretorio, "</em>.<em>");

getArquivos(diretorio, "ata</em>.<em>");

getArquivos(diretorio, “ta???.doc”);

getArquivos(diretorio, "???teste.</em>”);

para trazer todos os arquivos é tranquilo.

Como faço para fazer um metodo genérico que passe uma string e traga o arquivo de acordo com a string especificada.

Vê se isso te serve…

Cara… entendi nada! oq eu você quis fazer lendo esse arquivo?

[]s

RRaminelli

pcalcado:
Anonymous:
Olá pessoal

Eu preciso de um metodo em java que eu selecione os nomes dos arquivos dos arquivos de acordo com a string informada, por exemplo:

getArquivos(diretorio, <em>.txt");

getArquivos(diretorio, "</em>.<em>");

getArquivos(diretorio, "ata</em>.<em>");

getArquivos(diretorio, “ta???.doc”);

getArquivos(diretorio, "???teste.</em>”);

para trazer todos os arquivos é tranquilo.

Como faço para fazer um metodo genérico que passe uma string e traga o arquivo de acordo com a string especificada.

Vê se isso te serve…

Cara… entendi nada! oq eu você quis fazer lendo esse arquivo?

[]s

Você passa o caminho o caminho do arquivo que deve ser aberto e o método retorna uma string com o conteúdo do arquivo…

pcalcado

Sim, Rodrigo, mas acho que ele queria receber arquivo de acordo com a máscara, pore xemplo *.java, *.txt… não? :roll:

[]s

T
<blockquote><div class="quote-author">Anonymous:</div>Olá pessoal

Eu preciso de um metodo em java que eu selecione os nomes dos arquivos dos arquivos de acordo com a string informada, por exemplo:

getArquivos(diretorio, <em>.txt");

getArquivos(diretorio, "</em>.<em>");

getArquivos(diretorio, "ata</em>.<em>");

getArquivos(diretorio, “ta???.doc”);

getArquivos(diretorio, "???teste.</em>”);

para trazer todos os arquivos é tranquilo.

Como faço para fazer um metodo genérico que passe uma string e traga o arquivo de acordo com a string especificada.

</blockquote>

Você pode usar expressões regulares (java.util.regex.*) - só que as expressões regulares do Java são diferentes dos “wildcards” do Windows ou do Unix.
Por exemplo (não testei as expressões regulares…)

Wildcard         Expressão Regular   Exp. Reg. em Java
*.txt            .+\.txt           ".+\.txt"
*.*              .+                ".+"
ata*.*           ata.+             "ata.+"
ta???????.doc    ta(\.){1,7}\.doc  "ta(\.){1,7}\.doc"
???teste.*       \.{1,3}teste\..+  "\.{1,3}teste\..+"

Você pode até fazer um método que converte wildcards para expressões regulares.

Atenção: no Windows os nomes dos arquivos não fazem distinção entre maiúsculas e minúsculas, portanto deve-se converter o nome para minúsculas antes de usar a expressão regular acima.

RRaminelli
<blockquote><div class="quote-author">thingol:</div><blockquote><div class="quote-author">Anonymous:</div>Olá pessoal

Eu preciso de um metodo em java que eu selecione os nomes dos arquivos dos arquivos de acordo com a string informada, por exemplo:

getArquivos(diretorio, <em>.txt");

getArquivos(diretorio, "</em>.<em>");

getArquivos(diretorio, "ata</em>.<em>");

getArquivos(diretorio, “ta???.doc”);

getArquivos(diretorio, "???teste.</em>”);

para trazer todos os arquivos é tranquilo.

Como faço para fazer um metodo genérico que passe uma string e traga o arquivo de acordo com a string especificada.

</blockquote>

Você pode usar expressões regulares (java.util.regex.*) - só que as expressões regulares do Java são diferentes dos “wildcards” do Windows ou do Unix.
Por exemplo (não testei as expressões regulares…)

Wildcard         Expressão Regular   Exp. Reg. em Java
*.txt            .+\.txt           ".+\.txt"
*.*              .+                ".+"
ata*.*           ata.+             "ata.+"
ta???????.doc    ta(\.){1,7}\.doc  "ta(\.){1,7}\.doc"
???teste.*       \.{1,3}teste\..+  "\.{1,3}teste\..+"

Você pode até fazer um método que converte wildcards para expressões regulares.

Atenção: no Windows os nomes dos arquivos não fazem distinção entre maiúsculas e minúsculas, portanto deve-se converter o nome para minúsculas antes de usar a expressão regular acima.

Gostaria de criar um filtro? por exemplo: Abrir só arquivos .txt. ou .doc, etc…?

pcalcado

Eu tô muito confuso…

Tá, ele ia fazer isso onde? Existe algum método que retorne arquivos baseados na expressão regular?

RRaminelli:

Gostaria de criar um filtro? por exemplo: Abrir só arquivos .txt. ou .doc, etc…?

Acho qeu sim, mas nem sei mais… anônimo… o que diabos queres? :roll:

[]s

J

é o seguinte a minha aplicação precisar abrir os arquivos iniciados com REGL e fazer uma operação. REGL*.*

precisa abrir um arquivo do tipo TXT e fazer uma outra operação. *.TXT

precisa abrir um arquivo iniciado com ata???s.001 e fazer uma outra operação.

Ou seja preciso de um comando em java que eu utilizarei no metodo getArguivos(diretorio, REGL*.*)
O metodo vai devolver um array com todos os nomes de arquivos do diretorio especificado com os nomes dos arquivos passados no parâmetro da função

Por exemplo getArquivos(diretorio, REGL*.*) Devolve um array com os nomes dos arquivos iniciados por REGL e qualquer extensão.

getArquivos(diretorio, ata???s.001) vai devolver uma lista com os nomes de arquivos iniciados com ata??? (cinco caracteres desconhecidos) ultimo caractere do nome do arquivo é um “s” e tem a extensão 001.

e assim para os outros…

RRaminelli
joseneuza:
é o seguinte a minha aplicação precisar abrir os arquivos iniciados com REGL e fazer uma operação. REGL*.*

precisa abrir um arquivo do tipo TXT e fazer uma outra operação. *.TXT

precisa abrir um arquivo iniciado com ata?????s.001 e fazer uma outra operação.

Ou seja preciso de um comando em java que eu utilizarei no metodo getArguivos(diretorio, REGL*.*)
O metodo vai devolver um array com todos os nomes de arquivos do diretorio especificado com os nomes dos arquivos passados no parâmetro da função

Por exemplo getArquivos(diretorio, REGL*.*) Devolve um array com os nomes dos arquivos iniciados por REGL e qualquer extensão.

getArquivos(diretorio, ata?????s.001) vai devolver uma lista com os nomes de arquivos iniciados com ata????? (cinco caracteres desconhecidos) ultimo caractere do nome do arquivo é um "s" e tem a extensão 001.

e assim para os outros...

Para filtar qual arquivo deve ser aberto você pode utilizar o JFileChooser e indicar o começo, o fim do arquivo.....

[code]

chooser.setFileFilter(new javax.swing.filechooser.FileFilter(){
public boolean accept(File f){
return (f.getName().toLowerCase().startsWith("ARQ") && f.getName().toLowerCase().endsWith(".doc")) || f.isDirectory();
}
public String getDescription(){
return "*.doc";
}
});

pcalcado

Para filtrar apenas o nome do arquivo numa lista, use os métodos das classes de IO para retornar o conteúdo de diretórios e compare o nome dos arquivos com expressões regulares (como o thingol falou) ou faça um filtro como eu falei.

[]s

Criado 12 de novembro de 2004
Ultima resposta 12 de nov. de 2004
Respostas 10
Participantes 5