Forum » Programiranje » Java - File exsist()
Java - File exsist()
brinovcek ::
Pozdravljeni.
Pri delu z pisanjem ter branju iz datoteke mi povzroča težave pogoj s katerim preverim ali datoteka obstaja oz ali se jo lahko bere, saj mi v vseh primerih pogoj vrže false blok. Zanima me, če je kdo že imel podobne probleme z slednjo kodo, kakšne so rešitve za situacijo, ... ?
Koda:
public void preberiIzDat(String sourceFile){
File datoteka = new File(sourceFile);
if(!datoteka.exists()||datoteka.canRead()){
System.out.println("Program ne more prebrati datoteke "+sourceFile+". ");
return null;
}else ....
hvala
Pri delu z pisanjem ter branju iz datoteke mi povzroča težave pogoj s katerim preverim ali datoteka obstaja oz ali se jo lahko bere, saj mi v vseh primerih pogoj vrže false blok. Zanima me, če je kdo že imel podobne probleme z slednjo kodo, kakšne so rešitve za situacijo, ... ?
Koda:
public void preberiIzDat(String sourceFile){
File datoteka = new File(sourceFile);
if(!datoteka.exists()||datoteka.canRead()){
System.out.println("Program ne more prebrati datoteke "+sourceFile+". ");
return null;
}else ....
hvala
Sergio ::
Ni težava v tem :)
if(!datoteka.exists()||datoteka.canRead()){
spremeni v
if(!datoteka.exists()||!datoteka.canRead()){
pa bo delalo. :D
if(!datoteka.exists()||datoteka.canRead()){
spremeni v
if(!datoteka.exists()||!datoteka.canRead()){
pa bo delalo. :D
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.
če usoda ustavi mu korak,
on se ji zoperstavi.
Nuke_H2 ::
import java.io.File; public class Datoteka { public static void main(String s[]){ preberiIzDat("datoteka.txt"); } public static void preberiIzDat(String sourceFile){ File datoteka = new File(sourceFile); if(!datoteka.exists() || !datoteka.canRead()){ System.out.println("Program ne more prebrati datoteke "+sourceFile+". "); }else{ System.out.println("Datoteka obstaja: "+datoteka.exists()+" | Datoteka se lahko bere: "+datoteka.canRead()+"!"); } } }
Zgornja koda deluje.
Pri tvoji kodi je verjetno problem ker ti vračaš vrednost null pri metodi tipa void. In pa datoteka.canRead(), spremeni v !datoteka.canRead()
Lp Nuke_H2
Edit: Je že Sergio odgovoril za datoteka.canRead()
Zgodovina sprememb…
- spremenil: Nuke_H2 ()
brinovcek ::
Hvala za rešitev .... stvar dela, imam pa še eno vprašanje. Metodo za branje sem deklarira kot statično in sicer v nekem posebnem razredu zaradi boljše urejenosti, ker želim imeti ločeno, vendar ko želim napolniti tabelo objektov definirano v glavnem programu s pomočjo zgornje funkcije mi program noče napolniti oz se vse obnaša kot da dejansko ni rišlo do branja in posledično do vrnjene vrednosti null. Zakaj bi lahko prislo do tega glede na to da, če imam pa funkcijo v razredu kjer je main program pa lepo nafila?
Koda v glavnem programu:
public static void main(){
DelovniStroj []ds = new DelovniStroj[12];
ds=(DelovniStroj[]) Datoteka.voziloIzDatoteke("info.txt");
ObjectSort.straightSelection(ds);
ObjectSort.izpisiTabelo(ds);
Datoteka.writeToFile("info.txt", ds);
}
Dekalracija metode v razredu Datoteka:
import java.io.File;
public class Datoteka{
public static DelovniStroj[] preberiIzDatoteke(String sourceFile){
DelovniStroj[]tabela=null;
File datoteka = new File(sourceFile);
....
....
....
return tabela;
}
}
Koda v glavnem programu:
public static void main(){
DelovniStroj []ds = new DelovniStroj[12];
ds=(DelovniStroj[]) Datoteka.voziloIzDatoteke("info.txt");
ObjectSort.straightSelection(ds);
ObjectSort.izpisiTabelo(ds);
Datoteka.writeToFile("info.txt", ds);
}
Dekalracija metode v razredu Datoteka:
import java.io.File;
public class Datoteka{
public static DelovniStroj[] preberiIzDatoteke(String sourceFile){
DelovniStroj[]tabela=null;
File datoteka = new File(sourceFile);
....
....
....
return tabela;
}
}
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Java ObjektiOddelek: Programiranje | 2242 (1936) | Mavrik |
» | [JAVA] branje iz datotekeOddelek: Programiranje | 2404 (2039) | Bela01 |
» | [JAVA] kako dobiti določene chareOddelek: Programiranje | 1606 (1453) | molotov |
» | Kako pošiljanje datotek v JAVI.Oddelek: Programiranje | 1833 (1704) | kopernik |
» | kak se na slohostingu postav forum in katerega?Oddelek: Izdelava spletišč | 2237 (1881) | Klemenn |