Eli pitäisi koodata sellanen ohjelma jossa eri käyttäjille (työntekijöille) avautuu oma tekstikenttä/taulukko jonne voi näppäillä raportteja/tehdyt tunnit. ja nämä raportit/tunnit pitäisi sitten tallentua tekstitiedostoksi.
Tarvitaanko tässä SQL:llää vai riittääkö pelkkä Java? Koodaustaitoni on täysin alkeelliset. Erityisesti sormi menee suuhun tuossa tekstitiedostoon tallentamisen ja sieltä tiedon noutamisen kanssa. Onko jossain saatavilla avointa javakoodia jota voisi soveltaa tähän kuitenkin suht yksinkertaiseen ohjelmaan?
Riippuut työntekijöiden määrästä, onko tarpeellista käyttää SQL:ää. Jos työntekijöiden määrä on siinä kymmenen paikkeilla, niin eiköhän pelkillä tekstitiedostoilla pärjää.
Tähän on kohtuullisen helppo viritellä käyttöliittymä päälle, joka kysyy nimen ja tunnit tj.
Tässä luokka, joka lukee ja kirjoittaa tekstitiedostoon.
Luokan import-rivit on jätetty pois, koska en ulkoa muistanut mihin paketteihin kaikki kuuluvat. Jos kopioit koodin johonkin editoriin, se varmasti ehdottaa mitä sieltä pitää tuoda. Koodissa voi olla virheitä, kun sen suoraa tähän viestikenttään näpyttelin ja muokkailin sopivaksi(ohjelma missä tämän tyylistä ratkaisua käytin oli toisella koneella). Jos näin käydessä ilmoittele, niin korjaan koodia
public class WriteAndRead{ /** Luokkaa kutsutaan WriteAndRead.kirjoitaTiedostoon("Tämä menee talteen", "tunnit.txt"); * tai WriteAndRead.lueTiedostosta("tunnit.txt") */ public void kirjoitaTiedostoon(String kirjoitettava, String tiedostonimi){ //kirjoittaa halutun tekstin haluttuun tiedostoon FileWriter kirjoitin=null; BufferedWriter puskuKirjoitin=null; try{ kirjoitin=new FileWriter(tiedostonimi); puskuKirjoitin=new BufferedWriter(kirjoitin); puskuKirjoitin.write(kirjoitettava); //sinne meni kirjoitettava teksti puskuKirjoitin.newLine(); //rivinvaihto puskuKirjoitin.flush(); //ei taida olla pakollinen kun finally taitaa kutsua tätä myös }catch(IOException ioe){ ioe.printStackTrace(); } finally{ try{ if(puskuLukija!=null)puskuLukija.close(); }catch(IOException ioe){ ioe.printStackTrace(); } } } public String lueTiedostosta(String tiedostonimi){ //palauttaa halutusta tiedostosta luetun tekstin String-tyypin muuttujana FileInputStream sisään=null; InputStreamReader lukija=null; BufferedReader puskuLukija=null; try{ sisään=new FileInputStream(tiedostonimi); lukija=new InputStreamReader(sisään, "ISO-8859-1"); //notepadin oletuskoodaus, tähän voi laittaa myös "UTF-8" jos niin haluaa puskuLukija=new BufferedReader(lukija); String rivi=null; String kokoTeksti=""; while((rivi=puskuLukija.readLine())!=null){ kokoTeksti=kokoTeksti+rivi; } }catch(IOException ioe){ ioe.printStackTrace(); } finally{ try{ if(puskuLukija!=null)puskuLukija.close(); }catch(IOException ioe){ ioe.printStackTrace(); } } retrun kokoTeksti; } }
Aihe on jo aika vanha, joten et voi enää vastata siihen.