Diskuze: Nejde mi vytvořit soubor.
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 15 zpráv z 15.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Na kterém řádku dochází k výjimce?
Proč voláš metodu createNewFile? K vytvoření souboru by mělo dojít v
konstruktoru třídy FileWriter.
Proč vytváříš objekt BufferedWriter, ale zapisuješ pomocí fileWriter?
public void createViews(String controller, String[] views) throws IOException{
this.path = "View\\"+controller;
file = new File(path);
file.mkdir();
for(String view : views){
String cesta = path+"\\"+view+".php";
file = new File(path);
fileWriter = new FileWriter(file);
buffWriter = new BufferedWriter(fileWriter);
file.createNewFile();
fileWriter.write("<h1>"+view+"<h1>");
turnOff();
}
}
Pořád nefunguje.
ani tohle nefunguje:
public void createViews(String controller, String[] views) throws IOException{
this.path = "View\\"+controller;
file = new File(path);
file.mkdir();
for(String view : views){
String cesta = path+"\\"+view+".php";
file = new File(path);
fileWriter = new FileWriter(file);
//buffWriter = new BufferedWriter(fileWriter);
//file.createNewFile();
fileWriter.write("<h1>"+view+"<h1>");
turnOff();
}
}
Čistší je použít File.separator:
String cesta = path + File.separator + view + ".php";
Divný, zkoušel sis vypsat tu cestu před vytvořením toho souboru? Jen tak pro kontrolu
public void createViews(String controller, String[] views) throws IOException{
this.path = "View"+ File.separator +controller;
file = new File(path);
file.mkdir();
for(String view : views){
String cesta = path + File.separator + view + ".php";
file = new File(path);
file.createNewFile();
turnOff();
}
}
Tohle mi sice nevyhodí chybu, ale do složky se nové soubory nevytvoří
Tak já už fakt nevím.
this.path = "View"+ File.separator +controller;
for(String view : views){
String cesta = path + File.separator + view + ".php";
new File(cesta).mkdirs();
file = new File(cesta);
file.createNewFile();
System.out.println(cesta);
}
Tohle mi jde. Akorát vytváří složky. Chci soubory prvni.php, druhy.php a místo toho se mi vytvoří složky. Nevíš čím to je?
public void createViews(String controller, String[] views) throws IOException{
this.path = "View"+ File.separator +controller;
for(String view : views){
String cesta = path + File.separator + view + ".php";
File f1 = new File(path);
File f = new File(cesta);
f1.mkdirs();
f.createNewFile();
System.out.println(cesta);
write(path, view);
}
}
private void write(String path, String name) throws IOException{
try (BufferedWriter bw = new BufferedWriter(new FileWriter(new File(path)))) {
bw.write("<h1>"+name+"<h1>");
}
}
Teď už se všechno vytvoří jak má, ale do nového souboru .php nemůžu nic zapsat. "Přístup byl odepřen". Tohle je noční můra.
Jo konečná verze. Už to funguje jak má
public void createViews(String controller, String[] views) throws IOException{
this.path = "View"+ File.separator +controller;
for(String view : views){
String cesta = path + File.separator + view + ".php";
File f1 = new File(path);
File f = new File(cesta);
f1.mkdirs();
f.createNewFile();
System.out.println(cesta);
write(f, view);
}
}
private void write(File file, String name) throws IOException{
try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {
bw.write("<h1>"+name+"<h1>");
}
}
Zobrazeno 15 zpráv z 15.