WebBox Klassenbibliothek
ulrich
2018-04-05 7a8d6a812f4869a72dc6e7af102e1a5ecadbb85d
src/de/uhilger/wbx/WbxUtils.java
@@ -19,7 +19,12 @@
package de.uhilger.wbx;
import de.uhilger.wbx.data.Inhalt;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -54,7 +59,7 @@
  
  
  public List<Inhalt> collectFiles(String requestUrl, String contextPath, 
          String relativePath, int maxTiefe, int maxAnzahl) {
          String relativePath, int maxTiefe, int maxAnzahl, int length) {
    Bild bild = new Bild();
    //WbxUtils wu = new WbxUtils();
    String basis = getJNDIParameter(WBX_FILE_BASE, WbxUtils.EMPTY_STRING);
@@ -76,6 +81,9 @@
      cont.setIsHidden(beitrag.isHidden());
      cont.setLastModified(beitrag.lastModified());
      cont.setLength(beitrag.length());
      if(length > 0) {
        cont.setAbst(getFileContent(beitrag, length));
      }
      
      /*
        den 'https://..'-Teil bis vor dem 
@@ -105,6 +113,28 @@
    return files;
  } 
  
  private String getFileContent(File file, int len) {
    try {
      StringBuffer readBuffer = new StringBuffer();
      char[] buf = new char[1];
      FileReader fr = new FileReader(file);
      int bytesRead = fr.read(buf);
      int read = 0;
      while(bytesRead > -1 && read < len) {
        read += bytesRead;
        readBuffer.append(buf);
        bytesRead = fr.read(buf);
      }
      readBuffer.append(buf);
      fr.close();
      logger.fine("read: " + read + ", readBuffer.len: " + readBuffer.length());
      return readBuffer.toString();
    } catch (Exception ex) {
      logger.log(Level.SEVERE, ex.getMessage(), ex);
      return EMPTY_STRING;
    }
  }
  
  /**
   * Diese Methode funktioniert nur, wenn entweder ein Ordner uebergeben