<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://wiki.cifprodolfoucha.es/index.php?action=history&amp;feed=atom&amp;title=Ficheiros_de_acceso_secuencial</id>
	<title>Ficheiros de acceso secuencial - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cifprodolfoucha.es/index.php?action=history&amp;feed=atom&amp;title=Ficheiros_de_acceso_secuencial"/>
	<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=Ficheiros_de_acceso_secuencial&amp;action=history"/>
	<updated>2026-10-17T17:39:28Z</updated>
	<subtitle>Historial de revisiones de esta página en el wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.cifprodolfoucha.es/index.php?title=Ficheiros_de_acceso_secuencial&amp;diff=17571&amp;oldid=prev</id>
		<title>Joselv: Página creada con «= Traballar con ficheiros de acceso secuencial = O acceso secuencial é o máis frecuente cando se traballa con ficheiros, e xa coñecemos as características e vantaxes do…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=Ficheiros_de_acceso_secuencial&amp;diff=17571&amp;oldid=prev"/>
		<updated>2022-02-28T15:13:44Z</updated>

		<summary type="html">&lt;p&gt;Página creada con «= Traballar con ficheiros de acceso secuencial = O acceso secuencial é o máis frecuente cando se traballa con ficheiros, e xa coñecemos as características e vantaxes do…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Traballar con ficheiros de acceso secuencial =&lt;br /&gt;
O acceso secuencial é o máis frecuente cando se traballa con ficheiros, e xa coñecemos as características e vantaxes do acceso explicadas no primeiro apartado.&lt;br /&gt;
&lt;br /&gt;
Neste tipo de acceso hai te que ter en conta que debemos coñocer o formato ou estrutura do ficheiro de antemán, e ir procesándoo.&lt;br /&gt;
&lt;br /&gt;
No labor de lectura ou escritura podese traballar a nivel de bytes ou de caracteres. O seguinte exemplo amosa unha posible aplicación liña a liña de ficheiros de texto.&lt;br /&gt;
&lt;br /&gt;
O exemplo é un pequeno programa de produtos e proveedores dunha empresa.&lt;br /&gt;
&lt;br /&gt;
Operacións con acceso secuencial:&lt;br /&gt;
&lt;br /&gt;
Abrir/crear ficheiro: detallado no apartado de ficheiros de texto.&lt;br /&gt;
&lt;br /&gt;
String fichero = &amp;quot;produc.txt&amp;quot;;&lt;br /&gt;
File f = new File(fichero);&lt;br /&gt;
FileWriter fw = new FileWriter(f);&lt;br /&gt;
&lt;br /&gt;
Gardar en ficheiro: unha vez aberto unha posibilidade para gardar é usar a clase PrintWriter. O que temos que ter en conta é que o gardar creamos unha estructura ríxida de información/rexistros, que logo vamos a utilizar para ler ou engadir máis rexistros.&lt;br /&gt;
&lt;br /&gt;
Exemplo de gardar os produtos:&lt;br /&gt;
&lt;br /&gt;
PrintWriter escritura = new PrintWriter(fw);&lt;br /&gt;
for (int i = 0; i &amp;lt; menu.produtos.size(); i++) {&lt;br /&gt;
      escritura.println(menu.produtos.get(i).imprimeProduto());&lt;br /&gt;
}&lt;br /&gt;
escritura.close();&lt;br /&gt;
A información que temos que gardar está nunha colección de obxectos, e a orden de almacenamento dos datos está no método imprimeProducto():&lt;br /&gt;
&lt;br /&gt;
public String imprimeProduto() {&lt;br /&gt;
     String salidaProducto = codProd + &amp;quot;:&amp;quot; + tipo + &amp;quot;:&amp;quot; + nome + &amp;quot;:&amp;quot; + prezo + &amp;quot;:&amp;quot; + pais + &amp;quot;:&amp;quot;;&lt;br /&gt;
        for (int i = 0; i &amp;lt; this.getCodigoProveedor().size(); i++) {&lt;br /&gt;
            if (i != 0) {&lt;br /&gt;
                saidaProduto = saidaProduto.concat(&amp;quot;,&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
       saidaProduto=    saidaProduto.concat(this.getCodigoProveedor().get(i).getCodProv());&lt;br /&gt;
        }&lt;br /&gt;
        return saidaProduto;&lt;br /&gt;
    }&lt;br /&gt;
Ler en ficheiros: este exemplo lee de maneira secuencial e volca toda esta información en obxectos  e istos a súa vez introdúcense nunha colección para xestionalos axeitadamente (neste caso ArrayList):&lt;br /&gt;
&lt;br /&gt;
 FileReader fr = null;&lt;br /&gt;
            BufferedReader br = null;&lt;br /&gt;
            fr = new FileReader(&amp;quot;prov.txt&amp;quot;);&lt;br /&gt;
            &lt;br /&gt;
            br = new BufferedReader(fr);&lt;br /&gt;
            String linea;&lt;br /&gt;
            String[] items;&lt;br /&gt;
            while ((linea = br.readLine()) != null) {&lt;br /&gt;
                items = linea.trim().split(&amp;quot;:&amp;quot;);&lt;br /&gt;
                menu.proveedores.add(new Proveedor(items[0], items[1], items[2].toUpperCase()));&lt;br /&gt;
            }&lt;br /&gt;
            br.close();&lt;br /&gt;
&lt;br /&gt;
Neste exemplo debemos coñecer como é a estrutura do ficheiro liña a liña; no exemplo cada liña é un proveedor e ten tres datos separados por “:”.&lt;br /&gt;
&lt;br /&gt;
Exemplo completo e enunciado:&lt;br /&gt;
&lt;br /&gt;
Disponse de dous ficheiros de texto “proveedores.txt” e “productos.txt”:&lt;br /&gt;
&lt;br /&gt;
proveedores.txt: cada liña conten a información dun proveedor. Esta componse dos seguintes campos separados por “:”&lt;br /&gt;
&lt;br /&gt;
                                    codProv:nome:enderezo&lt;br /&gt;
&lt;br /&gt;
productos.txt: cada liña conten a información dun produto. Esta componse dos seguintes campos separados por “:”&lt;br /&gt;
&lt;br /&gt;
                                    codProd:tipo:nome:prezo[:pais]:codProv,codProv,codProv&lt;br /&gt;
&lt;br /&gt;
Coma se pode observar, o quinto e o sexto campo da liña está formado a súa vez por unha lista que contén o código dos proveedores que suministran o devandito produto, e estes códigos están separados polo carácter “,”. Existen dous tipos de produtos: con “n” é nacional, e con “i” internacional. Se é internacional o producto terá un campo máis que é o país de orixe.&lt;br /&gt;
&lt;br /&gt;
A partires destos ficheiros crear os obxectos precisos, cunha arquitectura O.O. correcta.&lt;br /&gt;
&lt;br /&gt;
Crea un programa con estas funcionalidades:&lt;br /&gt;
* Engadir un producto.&lt;br /&gt;
* Obter un total do facturado por parte dun proveedor.&lt;br /&gt;
* Engadir proveedor a un determinado producto.&lt;br /&gt;
* Gardar os cambios nos correspondentes ficheiros.&lt;br /&gt;
&lt;br /&gt;
Copia de seguridade: pidénnos que gardemos en ficheiros binarios a información de proveedores como de productos. Estos ficheiros con extensión .dat.&lt;br /&gt;
&lt;br /&gt;
Solución: unidad1.actividade.secuencial&lt;/div&gt;</summary>
		<author><name>Joselv</name></author>
		
	</entry>
</feed>