Forum » Programiranje » [JAVA] kako dobiti določene chare
[JAVA] kako dobiti določene chare
c0dehunter ::
Imam naprimer .txt datoteko z usernami in še ostalimi podatki, ki jih ne rabim.
Iz tega bi rad dobil samo vse username, v novi datoteki, vsakega v svoji vrsti.
Vem tudi, da je pred vsakim usernamom dvojno dvopičje "::" in nikjer drugje. Vsako uporabnisko ime je dolgo 8 charov, se pravi da moram dobiti 8charov po vsakem "::".
Kako bi to izvedel?
Do sedaj sem naredil to:
Hvala
Iz tega bi rad dobil samo vse username, v novi datoteki, vsakega v svoji vrsti.
Vem tudi, da je pred vsakim usernamom dvojno dvopičje "::" in nikjer drugje. Vsako uporabnisko ime je dolgo 8 charov, se pravi da moram dobiti 8charov po vsakem "::".
Kako bi to izvedel?
Do sedaj sem naredil to:
import java.io.File;
import java.util.*;
public class md5{
public static void main(String [] args){
File db=new File("db.txt");
Hvala
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
- spremenilo: c0dehunter ()
PaX_MaN ::
Bereš line() po line() - metoda readLine() - z ,IIRC, BufferedReaderjem, potem pa daš:
int polozaj = prebranaVrstica.indexOf("::");
String podatkiKiJihHočem = prebranaVrstica.substring(polozaj+1,polozaj+9(mogoče 8? ne vem na pamet));
Potem pa samo shraniš vsak podatekKiGaHočem z BufferedWriterjem v nov fajl z writeLine().
int polozaj = prebranaVrstica.indexOf("::");
String podatkiKiJihHočem = prebranaVrstica.substring(polozaj+1,polozaj+9(mogoče 8? ne vem na pamet));
Potem pa samo shraniš vsak podatekKiGaHočem z BufferedWriterjem v nov fajl z writeLine().
Zgodovina sprememb…
- spremenilo: PaX_MaN ()
c0dehunter ::
import java.io.File;
public class prog{
public static void main(String [] args){
File db = new File("db.txt");
File db_konec = new File("db_konec.txt");
branje = new BufferedReader(new FileReader(db));
pisanje = new BufferedWriter(new FileWriter(db_konec));
for(int i=0; i++; i < 50){
branje.readLine(i);
int polozaj = i.indexOf("::");
String podatki = i.substring(polozaj+1,polozaj+9);
pisanje.writeLine(i);
}
}
}
No, ole sem uspel narediti.
1. Kako bereš vsako novo vrstico? branje.readLine(i); po mojem ni pravilno
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
c0dehunter ::
koernik, sem poskusil, ampak sedaj pa dobim nazaj banalno napako:
prog.java:9: not a statement
for(int i=0; i++; i < 50){
Ne vem kaj je še narobe
Pomagam si z 5 stranmi in 1 slovensko izdajo .pdf na temo java.io.File + Slo-tech help on demand , pa še zmeri ne gre.
prog.java:9: not a statement
for(int i=0; i++; i < 50){
import java.io.File;
public class prog{
public static void main(String [] args){
File db = new File("db.txt");
File db_konec = new File("db_konec.txt");
branje = new BufferedReader(new FileReader(db));
pisanje = new BufferedWriter(new FileWriter(db_konec));
for(int i=0; i++; i < 50){
String vrstica;
while((vrstica = branje.readLine()) != null){
int polozaj = i.indexOf("::");
String podatki = vrstica.substring(polozaj+1,polozaj+9);
pisanje.writeLine();
}
}
}
}
Ne vem kaj je še narobe
Pomagam si z 5 stranmi in 1 slovensko izdajo .pdf na temo java.io.File + Slo-tech help on demand , pa še zmeri ne gre.
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
Zgodovina sprememb…
- spremenilo: c0dehunter ()
kopernik ::
Na hitro iz glave :-)
Poskusi, če dela.
import java.io.*;
import java.util.*;
public static void main(String [] args) {
BufferedReader branje = new BufferedReader(new FileReader("db.txt"));
BufferedWriter pisanje = new BufferedWriter(new FileWriter("db_konec.txt"));
while((vrstica = branje.readLine()) != null) {
pisanje.write(vrstica);
pisanje.newLine();
}
branje.close();
pisanje.close();
}
Poskusi, če dela.
c0dehunter ::
Sem poskusil. Dodal sem se public class prog{ in String vrstica; , ki si ga pozabil
Vse skupaj izgleda sedaj takole:
Napake, ki jih dobim:
Unreported exception java.io.IOException; must be caught or declared to be thrown
branje.close();
isto za
pisanje.write(vrstica);
pisanje.close();
in še približno 5
Vse skupaj izgleda sedaj takole:
import java.io.*;
import java.util.*;
public class md5{
public static void main(String [] args) {
BufferedReader branje = new BufferedReader(new FileReader("db.txt"));
BufferedWriter pisanje = new BufferedWriter(new FileWriter("db_konec.txt"));
String vrstica;
while((vrstica = branje.readLine()) != null) {
pisanje.write(vrstica);
pisanje.newLine();
}
branje.close();
pisanje.close();
}
}
Napake, ki jih dobim:
Unreported exception java.io.IOException; must be caught or declared to be thrown
branje.close();
isto za
pisanje.write(vrstica);
pisanje.close();
in še približno 5
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
kopernik ::
Ja, sem pisal na hitro in pozabil definicijo razreda.
Sicer pa vrstico:
public static void main(String [] args) {
spremeni v :
public static void main(String [] args) throws IOException {
Sicer pa vrstico:
public static void main(String [] args) {
spremeni v :
public static void main(String [] args) throws IOException {
c0dehunter ::
Ok, sedaj dela, vendar ta verzija kopira samo eno datoteko v drugo. Da bi dobil podatke, ki jih hočem, sem dodal še nekaj zraven:
Sedaj pa pravi, da je "String index out of range: 8 at vrstica.substring(Unknown Source);"
Mislim da je to še zadnja napaka...
import java.io.*;
import java.util.*;
public class md5{
public static void main(String [] args) throws IOException {
BufferedReader branje = new BufferedReader(new FileReader("db.txt"));
BufferedWriter pisanje = new BufferedWriter(new FileWriter("db_konec.txt"));
String vrstica;
String podatki;
while((vrstica = branje.readLine()) != null) {
int polozaj = vrstica.indexOf("::");
podatki = vrstica.substring(polozaj+1,polozaj+8);
pisanje.write(podatki);
pisanje.newLine();
}
branje.close();
pisanje.close();
}
}
Sedaj pa pravi, da je "String index out of range: 8 at vrstica.substring(Unknown Source);"
Mislim da je to še zadnja napaka...
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
kopernik ::
Mogoče je kakšna vrstica prazna oz. ne vsebuje dveh podpičij.
int polozaj = vrstica.indexOf("::");
if(polozaj != -1)
{
//+2 in +10 zato, ker je string "::" dolg 2 znaka
podatki = vrstica.substring(polozaj+2,polozaj+10);
pisanje.write(podatki);
pisanje.newLine();
}
Kako ves, da je username dolg ravno 8 znakov ? Kaj pa ce je manj ?
int polozaj = vrstica.indexOf("::");
if(polozaj != -1)
{
//+2 in +10 zato, ker je string "::" dolg 2 znaka
podatki = vrstica.substring(polozaj+2,polozaj+10);
pisanje.write(podatki);
pisanje.newLine();
}
Kako ves, da je username dolg ravno 8 znakov ? Kaj pa ce je manj ?
Zgodovina sprememb…
- spremenil: kopernik ()
c0dehunter ::
Username je dolg 8 mest, ker drugačnega ne moreš registrirati na moji strani (imam en poseben sistem).
Je pa res, da ni v vsaki vrstici dvojnega dvopičja(::), torej bi mogel še dodatno preverjati, če je v vrstici "::" in šele če je pogoj izpolnjen, izvesti kodo?
Je pa res, da ni v vsaki vrstici dvojnega dvopičja(::), torej bi mogel še dodatno preverjati, če je v vrstici "::" in šele če je pogoj izpolnjen, izvesti kodo?
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
c0dehunter ::
Aja, sem spregledal...
Hvala ti, dela kot mora
Hvala ti, dela kot mora
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
molotov ::
btw
itak si že naredil z while zanko, ampak
for(int i=0;i++;i < 50) se verjetno tako napiše for(int i=0;i<50;i++) ;)
itak si že naredil z while zanko, ampak
for(int i=0;i++;i < 50) se verjetno tako napiše for(int i=0;i<50;i++) ;)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Java]: replace - slovar v txtOddelek: Programiranje | 1697 (1555) | Spura |
» | [java] uporaba baze .mdb z javoOddelek: Programiranje | 1623 (1538) | gtu |
» | branje iz fajla v javiOddelek: Programiranje | 1131 (1071) | Lizard |
» | [java] Runtime.exec()Oddelek: Programiranje | 1893 (1766) | borchi |
» | Java problemčekOddelek: Programiranje | 1454 (1247) | Imortales |