Ir para conteúdo

untpc

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    untpc deu reputação a Ryzor em Manipulando arquivos através de LUA   
    Manipulando arquivos através de LUA

    Abrindo um arquivo

    Para começar, você terá que abrir o arquivo.Para isso, usamos a função io.open(arquivo[modo]), que também pode cria-lo caso não exista.Arquivo será o seu diretório,que caso não exista retornará nil, e modo são os seguintes:


    "r" - Modo de leitura.
    "rb" - Leitura em modo binário.
    "w" - Modo de escrita.
    "wb" - Escrita em modo binário.
    "a" - Adicionar ao arquivo.
    "r+" - Modo de atualização preservando os dados anteriores.
    "w+" - Modo de atualização apagando os dados anteriores.
    "a+" - Modo de adição e atualização, preservando os dados anteriores e adicionando ao final do arquivo.

    Por exemplo, quero abrir um arquivo que se chama Iuri.lua e está no disco rígido C:, uso:



    io.open("C://Iuri.lua") Caso o arquivo não exista, irá retornar nil. Escrevendo em arquivos Para fazer a escrita em um arquivo é muito simples, basta usar file:write(...), onde file é o arquivo que abrimos anteriormente.Em ... será colocada uma string que irá ser escrita conforme o modo de abertura do arquivo definido anteriormente. Ex.: local file = io.open("C://Iuri.lua") file:write('Este é um tutorial') file:close() Lendo arquivos Para fazermos a leitura do arquivo, usamos file:read(...).Se nenhum formato for especificado, ele usará o formato padrão("*l").Os outros formatos são: "*n" - Lê um número, este é o único formato que retorna um número ao invés de uma cadeia. "*a" - Irá ler o arquivo inteiro, iniciando da posição atual. number - Irá ler o arquivo até o número de caracteres definido. Ex.: local file = io.open("C://Iuri.lua") print(file:read()) file:close() Isso irá printar 'Este é um tutorial' no console , o que foi escrito anteriormente. file:lines() file:lines(), é usado em um laço for e sua sintaxe é a seguinte: for linha in file:lines do corpo end Isso criará uma repetição sobre todas as linhas do arquivo com linha retornando os caracteres da linha em questão. Ex.: local file = io.open("C://Iuri.lua") for linha in file:lines do print(linha) end file:close() Como só foi escrito uma linha no arquivo irá printar 'Este é um tutorial', se embaixo disso escrevessemos 'Teste' o for se repetiria 2 vezes e iria printar: 'Este é um tutorial' 'Teste' Finalizando o arquivo Por último, iremos finalizar o arquivo, usando o file:close(), que já foi mostrado nos exemplos anteriores. Deletando arquivos ou diretórios Para deletar arquivos e diretórios, usamos a função os.remove(file or directory), lembrando que o arquivo não pode estar em uso e o diretório vazio. Ex.: os.remove("C://Iuri.lua")


    Creditos

    Dean

Informação Importante

Confirmação de Termo