24. februar 2002 - 16:14Der er
3 kommentarer og 1 løsning
gennemløb af filmappe samt finde filnavne på de givne filer
Jeg skal bruge lidt hjælp til hvordan at jeg gennemløber et directory i Java. Under gennemløbet skal programmet detectere hvilke filnavne der er i directory'et og gemme disse.
da det dybest set er 2 spørgsmål er der lidt ekstra point at hente, i forhold til at det er et typisk API spørgsmål....
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Det følgende program har jeg lavet til at indsætte en tekststreng i alle filer i et directory. Alle underdirectories kommer med.
import java.io.*; import java.util.*; public class InsertTing {
public static int space = -1;
public static boolean isJSP(String file) { String extension = file.substring(file.length() - 3); extension = extension.toLowerCase(); boolean result; if (extension.equals("jsp")) result = true; else result = false; return result; }
public static void insert(String path) { space += 4; String stringSpace = ""; for(int t = 0; t < space; t++) stringSpace += " "; File filePath = new File(path); File[] fileList = filePath.listFiles(); if (fileList != null) { for(int i = 0; i < fileList.length; i++) { if (fileList[i].isDirectory()) { System.out.println(stringSpace + "Directory: " + fileList[i].getName()); insert(fileList[i].getAbsolutePath()); } else { if (isJSP(fileList[i].getName())) { System.out.println(stringSpace + "JSP found: " + fileList[i].getName()); insertHeader(fileList[i].getAbsolutePath()); } } } } space -= 4; }
public static void insertHeader(String file) { try { File filename = new File(file); BufferedReader in = new BufferedReader(new FileReader(file)); ArrayList a = new ArrayList(); while (in.ready()) { a.add(in.readLine()); } in.close(); filename.delete();
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filename))); out.println("<%@ include file=\"/include/checkLoginStatusForJsp.jsp\" %>"); for(int i = 0; i < a.size(); i++) { out.println(((String)a.get(i)));
Måske er det på sin plads at udspecificere lidt af det essentielle:
Lav en fil ud fra en path (som er en String). En File har en metode, der hedder listFiles(), som returnerer et array med alle Files i det directory. Det kan du gennemløbe...
File filePath = new File(path); File[] fileList = filePath.listFiles();
Hvis du får problemer når du skal bruge det, så bare sig til :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.