Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 935 → Rev 936

/sun/PhotoAlbum/trunk/src/ak/photoalbum/util/FileUtils.java
0,0 → 1,79
package ak.photoalbum.util;
 
import java.util.Map;
import java.util.HashMap;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;
 
public class FileUtils
{
protected static final int COPY_BUFFER_SIZE = 4096;
protected static final Map MIME_MAP = new HashMap();
 
static {
MIME_MAP.put("jpg", "image/jpeg");
MIME_MAP.put("jpeg", "image/jpeg");
MIME_MAP.put("png", "image/png");
}
 
public static String getMime(String ext)
{
if(ext == null)
return null;
else
return (String)MIME_MAP.get(ext.toLowerCase());
}
 
public static void copyStreams(InputStream in, OutputStream out)
throws IOException
{
byte[] buf = new byte[COPY_BUFFER_SIZE];
int len;
 
while((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
}
 
public static String extractFileName(String fullName)
{
if(fullName == null) return null;
 
int pointPos = fullName.lastIndexOf('.');
 
if(pointPos <= 0)
return fullName;
else
return fullName.substring(0, pointPos);
}
 
public static String extractFileExt(String fullName)
{
if(fullName == null) return null;
 
int pointPos = fullName.lastIndexOf('.');
 
if(pointPos <= 0)
return "";
else
return fullName.substring(pointPos + 1);
}
 
public static String replaceFileSeparator(String path, String replaceWith)
{
String sep = File.separator;
StringBuffer buf = new StringBuffer();
int pos = -1;
int oldPos = -1;
 
while((pos = path.indexOf(sep, pos + 1)) >= 0) {
buf.append(path.substring(oldPos + 1, pos)).append(replaceWith);
oldPos = pos;
}
buf.append(path.substring(oldPos + 1));
 
return buf.toString();
}
}
/sun/PhotoAlbum/trunk/src/ak/photoalbum/util/FileNameComparator.java
0,0 → 1,31
package ak.photoalbum.util;
 
import java.util.Comparator;
import java.io.File;
 
public class FileNameComparator
implements Comparator
{
private boolean dirFirst;
 
public FileNameComparator(boolean dirFirst)
{
this.dirFirst = dirFirst;
}
 
public int compare(Object o1, Object o2)
throws ClassCastException
{
return compare((File)o1, (File)o2);
}
 
public int compare(File f1, File f2)
{
boolean d1 = f1.isDirectory();
boolean d2 = f2.isDirectory();
 
if(d1 && !d2) return (dirFirst ? -1 : 1);
else if(!d1 && d2) return (dirFirst ? 1 : -1);
else return f1.getName().compareToIgnoreCase(f2.getName());
}
}
/sun/PhotoAlbum/trunk/src/ak/photoalbum/util/ImagesFilter.java
0,0 → 1,37
package ak.photoalbum.util;
 
import java.io.File;
import java.io.FileFilter;
import java.util.Set;
import java.util.HashSet;
import java.util.StringTokenizer;
 
public class ImagesFilter
implements FileFilter
{
Set extentions = new HashSet();
 
public ImagesFilter(String imagesMask)
{
StringTokenizer tokenizer = new StringTokenizer(imagesMask, ";");
 
while(tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
 
if(token.startsWith("*.")) token = token.substring(2);
 
extentions.add(token.toLowerCase());
}
}
 
public boolean accept(File pathname)
{
if(pathname.isDirectory()) {
return !pathname.getName().startsWith("."); // skip hidden dirs
}
else{
return extentions.contains(FileUtils.extractFileExt(
pathname.getName().toLowerCase()));
}
}
}