getting file extension and allocating it to a new folder using java -
i want make program scan files in 1 directory extension , move new folder in same directory base on extension using java.
ex: folder main have file :
- 1.txt
- 2.mp3
- 3.mkv
- 4.jpeg
this program make folder become :
folder main :
- doc\1.txt
- music\2.mp3
- video\3.mkv
- image\4.jpeg
edit
i want user input name of folders spesific extension can move folder.
ex: files ".docx, .pdf, .txt" move folder "document"
this source code
public static void main(string[] args) { new file("d://new data/text").mkdirs(); new getallfilesindirectorybasedonextensions().copy("txt", "d://new data//", "d://new data/text"); } private filetypeorfolderfilter filter = null; private void copy(final string filetype, string frompath, string outputpath) { filter = new filetypeorfolderfilter(filetype); file currentfolder = new file(frompath); file outputfolder = new file(outputpath); scanfolder(filetype, currentfolder, outputfolder); } private void scanfolder(final string filetype, file currentfolder, file outputfolder) { system.out.println("scanning folder [" + currentfolder + "]..."); file[] files = currentfolder.listfiles(filter); (file file : files) { if (file.isfile()) { copy(file, outputfolder); file.delete(); } } } private void copy(file file, file outputfolder) { try { system.out.println("\tcopying [" + file + "] folder [" + outputfolder + "]..."); inputstream input = new fileinputstream(file); outputstream out = new fileoutputstream(new file(outputfolder + file.separator + file.getname())); byte data[] = new byte[input.available()]; input.read(data); out.write(data); out.flush(); out.close(); input.close(); } catch (exception e) { throw new runtimeexception(e); } } private final class filetypeorfolderfilter implements filefilter { private final string filetype; private filetypeorfolderfilter(string filetype) { this.filetype = filetype; } public boolean accept(file pathname) { return pathname.getname().endswith("." + filetype) || pathname.isdirectory(); } }
Comments
Post a Comment