Tekst filer Tekstfiler opbygges normalt af linier, hvor disse ikke behøver at være samme længde. Når man skal arbejde med tekstfiler, ønsker man metoder.

Slides:



Advertisements
Lignende præsentationer
Kort om JavaScript Afvikles i browser på klienten Sendes fra server (php, asp, aspx, htm) eller startes i klient som htm/html fil. Skabelon: –”main” -
Advertisements

Læringsmiljø på hhx; kvaliteter og udfordringer Temaoplæg 2: IKT i undervisningen på hhx DEA, 13. Oktober 2010 Ph.d.-stipendiat, Arnt Louw Vestergaard.
1 • Best practice for exception handling • Exception klasser • Division med nul uden exception handling • Division med nul med exception handling •. NET.
Velkommen til Softwarekonstruktion
REGISTRERINGSDATABASEN
T1 – OPGAVE 14.2 LINETT & SABRINA Klasse Varer namespace Opgave_14._2 { class Varer { private string vare; private string farve; private double.
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
Lavet af: Paw Petersen Design Design Class Diagram (DCD)
Flerbrugermaskine Fælles maskine Root: webserver Peter: uploader filer Pia: programudvikling 1 langvarig proces, evt. med børneprocesser skiftende behov.
Oversættelse af Java-programmer JavaBytecode javac Normalt oversættes Java-programmer til bytecode, som fortolkes af en JVM (Java Virtual Machine). Java.
Informationsteknologi B-A, HHX, 2005,
1 Filer - intro Data-hierarki Filer og strømme (eng.: streams) af bytes Klasserne File og Directory Oprettelse af sekventiel tekstfil Læsning af data fra.
Exceptions. 2 Nordjyllands Erhvervakademi – 2009 Objectives “Unfortunately, errors are a part of life. Some are detected by the compiler, some are detected.
FEN Databaser/DBAdgang21 DB-adgang - Connectionless Connectionless DataAdapter DataSet.
Hvordan man skriver koden.
VOOP, 8 april Refleksion i objekt orienterede programmeringssprog Mandag 8/ Kasper Østerbye.
Opret en database i Reference Manager, ver. 11 Åbn programmet. Opret en ny database. Placér basen ude på ”skrivebordet ” (kun i denne sammenhæng – da baserne.
Tietgen Skolen Syntaks: while ( betingelse for loop ) statement; Eksempel: int tal = 0; while ( tal/3 != 4 ) { System.Console.WriteLine(tal); tal = tal.
Tietgen Skolen Trick med facadeklasse og serialisering ”Trick” – model ”samles” til eet overordnet objekt Alle klasser i model skal have attriutten [Serializable]
Sockets Logiske endepunkter mellem server og klient På applikationsniveauet betragtes Sockets som pålidelige Sockets optræder parvis Til en Socket er der.
Medtag.NET komponent for serialisering med DataContracts.
Structs Structs allokeres på stakken Memory-allokering sker ved oprettelse af variabel og ikke ved new Der kan defineres metoder incl. Constructor. Eksempel.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Arv Idéen i arv et at kunne genbruge gennem generalisering
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
FEN IntroJava AAU1 Opsamling: afvikling af Java-programmer Input fra keyboard og fil Fra en prompt Fra BlueJ Fra NetBeans.
Programering af mobile enheder Windows Phone Storage.
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
Intro til C# apps Kodegennemgang af simpel C# app
Lektion 7 Læsestof: Kopier fra Caranno
Fundamentale datastrukturer
JavaScript i externe filer JavaScript gemmes i en ekstern fil (myscripts.js ) og så hentes ind i dokument hvor de skal bruges med, svarende at koden var.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Objekter og klasser Rasmus D. Lehrmann DM
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Procestræ under afvikling af cp init login shell cp cp src dest.
Paradigmer i Programmering 2. Sammensatte typer Tupler og lister Programmering med rekursion Programmering med pipe-lines Programmering med polymorfe.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
Transaktioner og ACID Spørgsmål 8. Transaktioner og ACID ACID (Atomicity, Consistency, Isolation, Durability) ACID-egenskaber er sæt egenskaber, der garanterer.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
11 - Exceptions. 2 NOEA2009Java-kursus – Exceptions Hvad er en exception? En undtagelse. Typisk en fejl der opstår runtime Afbryder det normale programflow.
C#: Udtryk og metoder Kilde: Joe Hummel. 2 Nordjyllands Erhvervakademi – 2008 Indhold “With regards to programming statements and methods, C# offers what.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Interaktive knapper Web-udvikling med FrontPage 2003 RHS - Informationsteknologi.
Databaseadgang fra C#:
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Per P. MadsenStyresystemer og tjenester1 Indhold: 1.Introduktion til styresystemer. 2.Processer og tråde. 3.Synkroniseringsmetoder og InterProcesCommunikation.
GP9, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 11 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
1 Processer. 2 fork int fork(); Danner en ny proces med samme indhold som forældre processen. I begge processer er programtælleren placeret lige efter.
Kjeld Svidt  Institut for Byggeri og Anlæg  Aalborg Universitet IT i Byggeriet Semester kursusgang Projektweb og html (fortsat) Kjeld Svidt.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
DAIMI, AUIntroducerende Objektorienteret Programmering1 Persistens, I/O og strømme Input og output, datastrømme i Java, objekt serialisering.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
DAIMIIntroducerende objektorienteret programmering4A.1 Kontrakter og Design Kontraktbaseret design, JavaDoc dokumentation,
Fundamentale sprogbegreber Typer. dIntProg, F08Typer.2 Typer Primitive typer –boolean –byte, char, short, int, long, float, double Objekttyper –klassetype.
SAS Code analyzer Barbara Biørn olsen.
IT for let øvede Modul 5: ”Tekstbehandling ”. Formål KULTUR & FRITIDSHUSET – SKOLEGADE 54 – TLF: Kunne skrive en tekst med store og små bogstaver.
Variable og arrays Webintegrator HF1 PHP Object orienteret.
Programmering I Java/C# Datatekniker Dit første projekt.
Web- og serverprogrammering
1587 Server - Blandet miljø Webintegrator HF1
Lav et nyt projekt og tilføj denne gang pakken Graphic LCD.
I det efterfølgende kommer nogle eksempler på C kode som adskiller sig fra det vi normalt anvender i C# Hvis du har behov for hurtigt at afprøve små stumper.
WebApi service x.
Dokumentation.
Præsentationens transcript:

Tekst filer Tekstfiler opbygges normalt af linier, hvor disse ikke behøver at være samme længde. Når man skal arbejde med tekstfiler, ønsker man metoder der kan læse og skrive tekst, herunder på linieniveau. Dette tilfredsstilles ikke af streams, der arbejde på byte- niveau, men i stedet for at lave klasser, der direkte arbejder på fx. Tekstfiler, har man lavet klasser, der kobles sammen med en stream og så kun skal kunne omsætte tekst til byte’s. Man kan anvende klassen FileInfo til at oprette klasserne til tekstfiler, der så også tager sig af at oprette og sammenkoble et FileStream objekt.

Brug af using statement Using kan bruges til at sikre frigivelse af en ressource også ved fejl Man kan med brug af using undgå at lave besværlig kode for at sikre at filer bliver lukket uanset om der skulle opstå fejl eller der ikke gør.

Eksempel med og uden brug af using statement eksemplet er her uden try-catch Uden using FileInfo fInfo = new FileInfo(”myfile.txt”); StreamWriter sWriter = fInfo.CreateText(); sWriter.WriteLine(”Eksempel uden using”); sWriter.Close(); Med using FileInfo fInfo = new FileInfo(”myfile.txt”); using (StreamWriter sWriter = fInfo.CreateText()) { sWriter.WriteLine(”Eksempel med using”); }

Eksempel på læsning af tekstfil FileInfo fileInfo = new FileInfo(filename); using (StreamReader sReader = fileInfo.OpenText()) { string txtLinie; txtLinie = sReader.ReadLine(); // læs forud while (txtLinie != null) // null ved EOF (end of file) { Console.WriteLine(txtLinie);// behandling af input txtLinie = sReader.ReadLine(); // læs næste }

String metoder for behandling af input I forbindelse med indlæsning af data fra tekstfiler er der ofte behov for at få opdelt en linie. string indeholder forskelige metoder, der her kan være nyttige. Det drejer sig specielt om: Split: der kan opdele en string i flere udfra skilletegn Substring: der kan ”klippe” en del ud af en string IndexOf: der kan finde positionen hvor et tegn / en tekst optræder. Length (property): der angiver antal tegn i en string

Eksemler på brug af string metoder string txt = ”Tekst:Der er opdelt”; char[] separator = {’;’, ’ ’}; string[] ord = txt.Split(separator); string txtDer = txt.Substring(6,3); // start=0 Int posEr = txt.IndexOf(”er”);

Fejlhåndtering Specielt i forbindelse med filer kan der opstå en del forskellige fejl / exceptions som fx læsefejl eller at man ikke har de rigtige rettigheder. Det vil derfor ofte være nødvendigt at bruge try-catch for at fange disse fejl og lave en fornuftig fejlhåndtering.

FileStream FileStream danner basis for filer – disse betragtes som en binær strøm af data. Afhængig af typen kan man åbne filerne for -Læsning -Skrivning (herunder også for at tilføje) -Læsning og skrivning Der kan evt. positioneres på en bestemt byte-position, hvorfra læsning og skrivning så foretages. Dette gøres med seek operation. Dette danner basis for mere avancerede filstrukturer. Der findes også streams, der i stedet for at streame til-/fra filer i stedet kan streamer i memory, ligesom streams også bruges i forbindelse med kommunikation.

FileStream Filestream bruges som basis for formater i forbindelse med serialisering og som basis for tekstfiler, men man kan godt bruge dem direkte, hvis man selv sørger for at danne data som byte’s. Serialisering behandles ikke i disse slides, men findes beskrevet andetsteds. Filen åbnes i forbindelse med der laves et nyt FilStream objekt. Der kan ved dannelsen angives om filen skal oprettes eller findes…, samt om den skal åbnes for læsning eller skrivning, samt om den skal kunne deles (åbnes samtidig)

Eksempel på skrivning til FileStream string filename = "MyBinText.txt”; FileStream fStream = new FileStream(filename, FileMode.Create); string txt = "Tekst der er udskrives"; foreach (char c in txt) { byte b = (byte)c; // omdan til byte fStream.WriteByte(b); } fStream.Close();

Eksempel på læsning fra FileStream string filename = "MyBinText.txt”; FileStream fStream = new FileStream(filename, FileMode.Open); int b = fStream.ReadByte(); // læs en byte forud - bemærk værdi er int while (b != -1) // bemærk at man får -1 ved EOF (end of file) { char c = (char)b; // behandling af input Console.Write(c); b = fStream.ReadByte(); // læs næste } fStream.Close();