[Java] Schrijven naar .txt

Pagina: 1
Acties:
  • 220 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

Anoniem: 28182

Topicstarter
Ik wil meerdere strings naar een .txt bestand schrijven via een applet in een appletviewer. Dat .txt bestand moet dan weer gelezen worden in een kader.
Is het mogelijk dat de waarden in het .txt bestand naast elkaar gezet kunnen worden?

GreetZz

Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
Je kan in principe alles wegschrijven en inlezen wat je maar wilt. Dat is absoluut niet het probleem. Wat wel het probleem is: vanuit een Applet mag je geen bestanden lezen en schrijven op de lokale schijven.

Voor meer info over lezen en schrijven van files:

http://java.sun.com/docs/books/tutorial/essential/io/index.html

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
Om je iets op weg te helpen hier twee voorbeelden. De eerste methode leest een file in 1 String in. De tweede leest de file in in een List, waarbij elk item in de List een regel uit de file is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/**
 * Returns a String with the contents of the specified file.
 *
 * @param file the file to read
 */
public static String getString(File file) throws FileNotFoundException, IOException
{
   StringBuffer buffer = new StringBuffer();
   FileReader in = new FileReader(file);

   char[] buff = new char[4096];
   int nch;

   while ((nch = in.read(buff, 0, buff.length)) != -1) 
   {
    buffer.append(buff, 0, nch);
   }

   in.close();
   return buffer.toString();
}


/**
 * Returns an List with the contents of the specified file.
 *
 * @param file the file to read
 */
public static List getList(File file) throws IOException, FileNotFoundException
{
   ArrayList result = new ArrayList();
   String s;

   FileInputStream fileInput = new FileInputStream(file);
   BufferedReader data = new BufferedReader(new InputStreamReader(fileInput));
     
   while((s = data.readLine())!=null)
    result.add(s);
      
   fileInput.close();
   return result;
}

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

Anoniem: 27563

Kleine aanvulling op de deels ware woorden van mbravenbour.

Applets kunnen extra rechten 'aanvragen' om met bijvoorbeeld het lokale bestandssysteem te mogen werken. Dat gaat door middel van certicaten (zie o.a. http://java.sun.com/security/signExample12/).

Saillant detail: ik denk dat niet veel mensen zo'n certificaat accepteren. Ikzelf als Java programmeur weiger zelfs certificaten voor applets, omdat ze toch een groter risico vormen...

Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
Op vrijdag 29 juni 2001 11:37 schreef Halfling het volgende:
Kleine aanvulling op de deels ware woorden van mbravenbour.
boer ;) . Ik zou het liever op 'niet geheel compleet' houden :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

Anoniem: 27563

Sorry about that, dat had inderdaad boer moeten zijn ( had je trouwens gezien dat ik het de eerste keer over certicaten had ;) LOL )

Overigens bedoelde ik met 'deels ware woorden' dat het incompleet was, maar ik geef toe dat het een beetje een vreemde verwoording is :+

Acties:
  • 0 Henk 'm!

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 12-06 00:33
Applets en de daarop liggen de ristricties zijn ook ernstig verschillend per implementatie.

De ene VM laat meer of minder toe dan de ander. Over het algemeen is de Sun VM het zuinigst wat betreft het toestaan van het een en ander.

Acties:
  • 0 Henk 'm!

Anoniem: 29485

alles leuk en aardig.. ik ben ook met zoiets bezig.. ik wil graag een soort config bestand inlezen:

meerdere regels met een : erin

ik begrijp dat het met LineNumberReader moet?
gok ik dat goed?

Acties:
  • 0 Henk 'm!

Anoniem: 15367

Op donderdag 05 juli 2001 21:40 schreef seaccor het volgende:
alles leuk en aardig.. ik ben ook met zoiets bezig.. ik wil graag een soort config bestand inlezen:

meerdere regels met een : erin

ik begrijp dat het met LineNumberReader moet?
gok ik dat goed?
Dat kan, als je de regelnummers wil bijhouden :) . Ik weet natuurlijk niet hoe jij dat config bestand wil opbouwen, maar volgens mij hoef je geen regelnummers bij te houden. Als je het regel voor regel met een BufferedReader inleest weet je toch genoeg? Met een StringTokenizer kun je de regel dan uit elkaar halen.

Acties:
  • 0 Henk 'm!

Anoniem: 32579

Aloha, ik gebruik onderstaande code om een .txt bestand uit te lezen, aan te passen en vervolgens weer te kopieren naar een nieuw bestand, het werkt ware het niet dat ik hij om de regel naar het nieuwe bestand print. Ik zie echt niet in waarom hij niet gewoon per regel print.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
c.out.println("wat is de naam van het textbestand waarin de urls staan? :");
                input=c.input.readString();
                FileInputStream fileInput = new FileInputStream(input);
                BufferedReader reader= new BufferedReader(new InputStreamReader(fileInput));

                c.out.println("wat is de algemene naam? :");
                naam=c.input.readString();

                outputFile="links"+input;
                PrintWriter out = new PrintWriter ( new FileWriter (outputFile));


                 while((s=reader.readLine())!=null)
                 {
                counter++;
                url=reader.readLine();
                    out.println("<a href="+aanh+url+aanh+">"+naam+counter+"</a>");
                 }
                 
                 out.close();

Acties:
  • 0 Henk 'm!

  • momania
  • Registratie: Mei 2000
  • Laatst online: 16-06 16:02

momania

iPhone 30! Bam!

Je doet in je while een readLine en daarna binnen de while nog een readLine.
Die in je while staat wordt dus iedere keer overgeslagen bij het wegschrijven B)

Neem je whisky mee, is het te weinig... *zucht*


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:55
Mjah, het is een beetje onzinnig om een 3 jaar oud topic te kicken omdat je zelf ook een vraagje over Java hebt dat er een beetje op lijkt.
In dat geval kan je beter een eigen topic openen aan de hand van de Quickstart.

Daarnaast is het debuggen van je code wel iets dat je zelf ook kunt doen. Je Java IDE zal nl. wel een handvol aan tools bieden waarmee je makkelijk kunt debuggen.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.