⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filethread.java

📁 JAVA实现的网络服务器文件同步
💻 JAVA
字号:
package com.msd;

import java.io.*;
import magick.*;

public class FileThread implements Runnable {
	
	private String imgPath = "E:/upload/img/";
	private String audioPath = "E:/upload/sing/";
	private String jarPath = "E:/upload/jar/";	
	private String newsPath = "D:/wap/news/images/";
	
	private String idKey = null;
	
	public FileThread(String key) {
		this.idKey = key;
	}
	
	public void run() {
		try {
			while(true) {			
				UpFile file = (FileList.getInstance()).getFile(); 
				try {
					if(file.flag == (byte)1) {
						saveImg(file.fileName,file.arr);	
					} else if(file.flag == (byte)2) {
						saveAudio(file.fileName,file.arr);	
					} else if(file.flag == (byte)3) {
						saveJar(file.fileName,file.arr);	
					} else if(file.flag == (byte)4) {
						saveNews(file.fileName,file.arr);
					} else if(file.flag == (byte)5) {
						delNews(file.fileName);	
					}
				} catch(Exception e) {
					Log.logger.error("FileThread While Error:" + e.toString());					
				}
				file = null;				
			}			
		} catch(Exception ex) {
			Log.logger.error("FileThread run Error: " + ex.toString());		
			(FileThreadFactory.getInstance()).ExceptionOut(idKey);
		}		
	}
	
	private void saveImg(String fileName,byte[] arr) {
		try {
			ImageInfo info = new ImageInfo(imgPath + "source/" + fileName);
			MagickImage image = new MagickImage(info,arr);
			
			MagickImage downTmp = image.scaleImage(128,128);
			MagickImage wapTmp = image.scaleImage(45,45);
			MagickImage webTmp = image.scaleImage(75,75);
			
			image.writeImage(info);
			
			downTmp.setFileName(imgPath + "down/" + fileName);
			downTmp.writeImage(new ImageInfo());
			
			wapTmp.setFileName(imgPath + "wap/" + fileName);
			wapTmp.writeImage(new ImageInfo());
			
			webTmp.setFileName(imgPath + "web/" + fileName);
			webTmp.writeImage(new ImageInfo());
			
			image = null;
			info = null;
			downTmp = null;
			wapTmp = null;
			webTmp = null;
			Log.logger.info("SaveFile Img Success:" + fileName);
		} catch(Exception e) {
			Log.logger.error("FileThread Img Error:" + fileName + "保存失败!");
		}
	}
	
	private void saveAudio(String fileName,byte[] arr) {
		try {
			FileOutputStream fout = new FileOutputStream(new File(audioPath + fileName));
			fout.write(arr);
			fout.flush();
			fout.close();
			fout = null;
			Log.logger.info("SaveFile audio Success:" + fileName);
		} catch(Exception e) {
			Log.logger.error("FileThread audio Error:" + fileName + "保存失败!");
		}		
	}	
	
	private void saveJar(String fileName,byte[] arr) {
		try {
			FileOutputStream fout = new FileOutputStream(new File(jarPath + fileName));
			fout.write(arr);
			fout.flush();
			fout.close();
			fout = null;
			Log.logger.info("SaveFile jar Success:" + fileName);
		} catch(Exception e) {
			Log.logger.error("FileThread jar Error:" + fileName + "保存失败!");
		}		
	}	
	
	private void saveNews(String fileName,byte[] arr) {
		try {
			FileOutputStream fout = new FileOutputStream(new File(newsPath + fileName));
			fout.write(arr);
			fout.flush();
			fout.close();
			fout = null;
			Log.logger.info("SaveFile newimage Success:" + fileName);
		} catch(Exception e) {
			Log.logger.error("FileThread newimage Error:" + fileName + "保存失败!");
		}		
	}	
	
	private void delNews(String fileName) {
		try {
			File f = new File(newsPath + fileName);
			f.delete();
			Log.logger.info("NewImage Del Success:" + fileName);
		} catch(Exception e) {
			Log.logger.error("FileThread newImage Del Error:" + fileName + "删除失败");	
		}		
	}
	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -