`
Franciswmf
  • 浏览: 797227 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

File--各种文件操作-上传、下载等等

 
阅读更多
1、文件上传


2、文件下载
参考博客:
https://blog.csdn.net/fst438060684/article/details/81907596

File构造方法

使用递归删除函数deleteDir递归删除指定的目录
public static void deleteDir(String path)
{
	File file = new File(path);
	if (file.exists())
	{
		if (file.isDirectory())
		{
			File[] files = file.listFiles();
			for (File subFile : files)
			{
				if (subFile.isDirectory())
					deleteDir(subFile.getPath());
				else
					subFile.delete();
			}
		}
		file.delete();
	}
}

1、图片与byte[ ]转换

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

import javax.imageio.stream.FileImageInputStream;
import javax.imageio.stream.FileImageOutputStream;

public class FileImageTest {

	public static void main(String[] args) {
		//读取路径图片到byte[]
		FileImageTest obj=new FileImageTest();
		String url="D:\\id.jpg";
		byte[] a=obj.doImage2byteFun(url);
		System.out.println(a.length);
		System.out.println(a);
		//将byte[]数据写到图片路径
		obj.doByte2imageFun(a, "D:\\study\\id.jpg");
	}
	
	/**
	 * 图片到byte[]
	 * 使用了FileImageInputStream与ByteArrayOutputStream
	 * @param inFileUrl
	 * @return
	 */
	public byte[] doImage2byteFun(String inFileUrl) {
		byte[] data = null;
		FileImageInputStream input = null;
		try {
			input = new FileImageInputStream(new File(inFileUrl));
			ByteArrayOutputStream output = new ByteArrayOutputStream();
			byte[] buf = new byte[1024];
			int numBytesRead = 0;
			while ((numBytesRead = input.read(buf)) != -1) {
				output.write(buf, 0, numBytesRead);
			}
			data = output.toByteArray();
			output.close();
			input.close();
		} catch (FileNotFoundException ex1) {
			ex1.printStackTrace();
		} catch (IOException ex1) {
			ex1.printStackTrace();
		}
		return data;
	}
	/**
	 * byte[]到图片
	 * 使用了FileImageOutputStream
	 * @param data
	 * @param outFilePath
	 */
	public void doByte2imageFun(byte[] data, String outFilePath) {
		if (data.length < 3 || outFilePath.equals(""))
			return;
		try {
			FileImageOutputStream imageOutput = new FileImageOutputStream(
					new File(outFilePath));
			imageOutput.write(data, 0, data.length);
			imageOutput.close();
			System.out.println("Make Picture success,Please find image in "
					+ outFilePath);
		} catch (Exception ex) {
			System.out.println("Exception: " + ex);
			ex.printStackTrace();
		}
	}
}


2、递归删除文件(目录)
public class DeleteFileTest {
	
	public static void main(String[] args) {
		DeleteFileTest obj=new DeleteFileTest();
		//测试1:
		//String url="D:\\workspacewmf\\alibaba\\123";
		//obj.doFunOnA(url);
		//测试2:
		//String url="D:\\workspacewmf\\alibaba\\124";
		//obj.doFunOnB(url);
		//测试3:
		String url="D:\\workspacewmf\\alibaba\\128";
		obj.doFunOnC(url,"");
	}
	/**
	 * 删除根目录下的所有文件(仅删除文件,不删除目录)
	 * @param url
	 */
	public void doFunOnA(String filePath){
		System.out.println("路径名称:"+filePath);
		if(StringUtils.isNotBlank(filePath)){
			File soureFile=new File(filePath);
			if(soureFile.exists()){
				if(soureFile.isDirectory()){
					File[] arr=soureFile.listFiles();
					for (File file : arr) {
						if(file.isDirectory()){
							doFunOnA(file.getAbsolutePath());
						}else{
							System.out.println("第一处删除文件名称:"+file.getName());
							file.delete();
						}
					}
				}else{
					//不会执行else语句
				}
			}
		}
	}
	
	/**
	 * 删除根目录下的所有文件(删除根目录、根目录下的所有子文件和子目录)
	 * @param url
	 */
	public void doFunOnB(String filePath){
		System.out.println("路径名称:"+filePath);
		if(StringUtils.isNotBlank(filePath)){
			File soureFile=new File(filePath);
			if(soureFile.exists()){
				if(soureFile.isDirectory()){
					File[] arr=soureFile.listFiles();
					for (File file : arr) {
						if(file.isDirectory()){
							doFunOnB(file.getAbsolutePath());
						}else{
							System.out.println("第一处删除文件名称:"+file.getName());
							file.delete();
						}
					}
				}else{
					//不会执行else语句
				}
				System.out.println("删除目录名称:"+soureFile.getName());
				soureFile.delete();
			}
			
		}
	}
	
	/**
	 * 删除根目录下的所有文件(删除根目录下的所有子文件和子目录,但不删除根目录)
	 * @param url
	 */
	public void doFunOnC(String rootPath,String childPath){
		if(StringUtils.isNotBlank(rootPath)){
			File soureFile;
			if(StringUtils.isNotBlank(childPath)){
				soureFile=new File(childPath);
			}else{
				soureFile=new File(rootPath);
			}
			System.out.println("路径名称:"+soureFile.getAbsolutePath());
			if(soureFile.exists()){
				if(soureFile.isDirectory()){
					File[] arr=soureFile.listFiles();
					for (File file : arr) {
						if(file.isDirectory()){
							doFunOnC(rootPath,file.getAbsolutePath());
						}else{
							System.out.println("第一处删除文件名称:"+file.getName());
							file.delete();
						}
					}
				}else{
					//不会执行else语句
				}
			}
			if(!soureFile.getAbsolutePath().equals(rootPath)){
				System.out.println("删除目录名称:"+soureFile.getName());
				soureFile.delete();
			}else{
				System.out.println("根目录不删除,根目录名称:"+soureFile.getName());
			}
		}
	}
}
  • 大小: 34.9 KB
分享到:
评论

相关推荐

    Laravel开发-file-manage .zip

    "Laravel开发-file-manage .zip"可能包含了一个完整的项目源代码,用于演示或实践如何在Laravel中实现文件上传、下载、预览以及文件管理的各种操作。 首先,我们来理解Laravel中的文件存储。Laravel使用Flysystem库...

    SpringBoot实现文件上传系统springboot-file-uploader.zip

    该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理...

    UiPath下载文件到本地.docx

    使用 UiPath 下载文件到本地可以帮助用户解决许多文件下载相关的问题,例如判断文件是否已经下载完毕、是否可以进行下一步等等。用户可以根据需要设置文件下载的流程,以便实现自动化的文件下载。 五、UiPath 在 ...

    前端项目-cloudinary-jquery-file-upload.zip

    前端项目-cloudinary-jquery-file-upload,Cloudinary客户端JS库。Cloudinary简化了Web应用程序的图像处理需求。...Cloudinary的jquery文件上传插件允许从浏览器直接上传到云和动态基于云的图像转换和效果。

    ZEND---jQuery-File-Upload:ZEND---jQuery-文件-上传

    ZEND---jQuery-文件-上传 我创建这个代码文件是因为大多数人在我的博客上询问如何正确地将此插件集成到像 CakePHP 或 Zend 这样的 MCV 框架中等等。 所以我分享了一些代码来寻求帮助。

    temp-file-viewer:临时文件分享中转站

    一般工作中会有我想把某个文件分享给别人,但是又不想直接发给对方,因此需要一个中转站,我把文件上传到这个中转站,然后中转站给我一个可以查看的url,我再把url发给要查看的人。 或者是想把一个文件分享给别人...

    swift_upload_file_batch.sh

    需要把按照文件夹分类的若干原始文件自动压缩打包上传到swift对象存储中,需要获取到不同文件夹分别对应不同的类别、文件名称、文件描述等等信息,几十个G的文件包含上百个类别和文件按照要求自动进行上传到swift...

    java文件上传下载.pdf

    文件上传下载是 Web 应用程序中很常见的功能,例如在论坛中用户可以上传自己喜爱的头像,邮件系统中用户可以上传附件或是,到网站上去下载自己喜欢的资源等等。文件的上传也是基于表单来完成的,表单中的 file 元素...

    Jsp File Browser

    国外著名的开源JSP文件管理器,历史悠久,功能强大,功能除了常用的建立文件夹,复制,删除文件等等之外,还包括在线浏览多种格式文件(JPG,FLASH,MP3...),在线编辑文本,单个或多文件下载为一个ZIP,调用服务器CMD,还提供...

    SpringMVC上传和下载的文档代码ppt介绍等等

    在Spring MVC框架中,文件上传和下载是两个常见的功能需求,尤其在开发Web应用程序时,它们扮演着重要的角色。Spring MVC提供了便捷的方式来处理这些操作,使得开发者能够轻松地实现文件的交互。 首先,我们来讨论...

    JSch - Java实现的SFTP(文件上传详解篇)

    SFTP 的方法,如:put():文件上传、get():文件下载、cd():进入指定目录、ls():得到指定目录下的文件列表、rename():重命名指定文件或目录、rm():删除指定文件、mkdir():创建目录、rmdir():删除目录等等。...

    文件上传(网站商品发布等等)

    SmartUpload提供了一套完整的API,简化了文件上传的处理过程,包括文件的接收、验证、保存等操作。使用SmartUpload,你可以轻松地实现文件上传功能,无需手动解析复杂的HTTP请求。 以下是一个简单的使用SmartUpload...

    FTP 命令详解 有例子,等等

    - **示例**:`put file1.txt remote_file.txt`,将本地文件`file1.txt`上传到远程服务器上名为`remote_file.txt`。 46. **pwd** - **作用**:显示当前远程工作目录。 - **示例**:`pwd`,显示当前所在的远程工作...

    SpringBoot 文件上传和下载的实现

    SpringBoot 文件上传和下载的实现 SpringBoot 是一个基于 Java 语言的框架,它提供了许多实用的功能模块,例如 Web 服务、数据库访问、安全性等等。文件上传和下载是 Web 开发中非常常见的功能,下面我们将介绍...

    Upload-master操作文件上传的PHP库.zip

    } File Upload 是一款非常强大的文件上传处理插件,支持多文件上传,拖拽上传,进度条,文件验证及图片音视频预览,跨域上传等等。可以说你能想到的功能它都有。你没想到的功能它也有。。不过由于功能太强大,使用...

    一些常用代码的总结,如分页等等,文件下载上传等

    本资料集合涵盖了"分页"、"文件下载"和"文件上传"等常见的编程任务,这些都是web开发中不可或缺的部分。接下来,我们将深入探讨这些主题。 **分页** 分页是大数据量展示时常用的一种优化手段,它能有效地减轻...

    其他类别JSP Explorer 文件浏览器 v1.0-fileexplorer (2).zip

    JSP Explorer还支持文件上传和下载,您可以轻松地将文件上传到本地文件系统或云存储服务中,也可以从这些位置下载文件。它还具有与云存储服务的集成功能,包括Google Drive、Dropbox等等。 JSP Explorer是一个跨平台...

    文件上传插件

    文件上传插件是一种用于网页应用中的组件,它允许用户通过拖放或选择多个文件的方式将数据上传到服务器。在现代互联网应用中,文件上传功能是不可或缺的,尤其在内容创作、文档分享、云端存储等领域。这类插件通常...

    X-plore File Manager.apk

    的X PLORE可以在Picasa相册列表图片,下载,创建相册,上传和删除照片,编辑字幕。 SQLite数据库查看器 的X PLORE可以显示SQLite数据库文件(那些。db扩展名)作为表的扩展列表中,用数据库条目的行和列的每个表包含...

    C#基类库大全下载--苏飞版

    FTPClient--FTP操作帮助类,FTP上传,FTP下载,FTP文件操作,FTP目录操作 FTPHelper FTPHelper-FTP帮助类,FTP常用操作方法,添加文件,删除文件等 FTPOperater FTP操作帮助类,方法比较多,比较实用 6.JS操作...

Global site tag (gtag.js) - Google Analytics