Codice: Seleziona tutto
import java.io.*;
public class SelezionaFile1{
public static void main(String[] args) throws IOException {
//creo gli stream
PipedOutputStream pos = new PipedOutputStream();
DataOutputStream dos = new DataOutputStream(pos);
PipedInputStream pis = new PipedInputStream(pos);
DataInputStream dis = new DataInputStream(pis);
//creo il file
File Cartella = new File("test");
while (Cartella.isDirectory()){
//inizio a dialogare con l'utente
System.out.println("ELENCO FILE NELLA CARTELLA\n\n\n");
String[] children = Cartella.list();
if (children == null) {
//Faccio qualcosa
System.out.println("ciao");
} else {
for (int i=0; i<children.length; i++) {
//Ottengo i nomi dei file o delle cartelle
String filename = children[i];
System.out.println(filename);
}
}
System.out.println("\n\n\n");
System.out.println("Seleziona cosa aprire: ");
byte vai[] = new byte[10];
String value = new String("");
while (value != "") {
try {
System.in.read(vai); //riempio l'array di caratteri
value = new String(vai);
dos.writeUTF(value);//lo trasformo in stringa
}catch(IOException e) {
e.printStackTrace();
}
String str;
str = dis.readUTF(); //copio la stringa
System.out.println(Cartella.getAbsolutePath());
String percorso = "/home/giuseppe/Scrivania/test";
Cartella = new File(Cartella, str);
System.out.println(Cartella.getAbsolutePath());
if (Cartella.exists()){
value = "";
}
}
}
}
}il programma, per ora, dovrebbe consistere nel mosrare il contenuto di una cartella, "test", creata apposta per l'esperimento, e permettere di swicchare tra le varie cartelle, mostrandone di volta in volta il contenuto.
ho provato un sacco di volte ma non funge.
ecco il mio output, per esempio:
Codice: Seleziona tutto
ELENCO FILE NELLA CARTELLA
nuovo file
ciao
poro
hello
Seleziona cosa aprire:
hello
/home/giuseppe/Scrivania/test
/home/giuseppe/Scrivania/test/hello
aspetto un'illuminazione, non è molto complesso.
PS, ho fatto stampare il percorso assoluto per vedere se è corretto, e lo è!!!
perchè non funge?

