【Java基础三】InputStream获取文件并保存
来源:互联网 发布:文件服务器监控软件 编辑:程序博客网 时间:2024/06/06 18:36
最近在项目的开发过程中,有这样的一个需求:通过上游传送一个路径,通过文件获取的方式将其存取到自己想存取的地方,传送文件的类型不定,有可能是PDF,有可能是txt等。
构建代码思路:通过inputStream获取,再将其转换存入本地。
遇到问题:类型不同该如何存储?
---解决办法:通过截取路径字符串的方式将获取的文件名称截图直接存储。这样就会避免存储类型的单一化。
具体代码:
public static void main(String[] args) throws IOException {// 通过url获取文件// File f = new File("D:/20160603143324235166.pdf");File f = new File("D:/hello.docx");// 获取的文件路径// String url = "D:/20160603143324235166.pdf";String url = "D:/hello.docx";// 取得最后一个/的下标int index = url.lastIndexOf("/");// 返回字符串,截取最后方的文件的名称类型String newString = url.substring(index + 1);// 通过inputStream获取文件InputStream inputStream = new FileInputStream(f);// 定义一个文件名字进行接收获取文件FileOutputStream fileOut = new FileOutputStream(new File("F:\\" + newString));byte[] buf = new byte[1024 * 8];while (true) {int read = 0;if (inputStream != null) {read = inputStream.read(buf);}if (read == -1) {break;}fileOut.write(buf, 0, read);}// 查看文件获取是否成功if (fileOut.getFD().valid() == true) {System.out.println("获取文件保存成功");} else {System.out.println("获取文件失败");}fileOut.flush();}主要就是分为两部分,获取文件,截图url文件名称。对于截图字符串,除上述一种方式之外,还可以考虑其他的方式:
方式二:截图最后"/"之后,转换成数组,通过string的copyValueOf去获取
public static void main(String[] args) {String url = "D:/hello.docx"; //取得最后一个/的下标 int index = url.lastIndexOf("/"); //将字符串转为字符数组 char[] ch = url.toCharArray(); //根据 copyValueOf(char[] data, int offset, int count) 取得最后一个字符串 String lastString = String.copyValueOf(ch, index + 1, ch.length - index - 1); System.out.println(lastString);}因为需求很简单,只是为了起到保存的功能,方便下一个功能的调用。待需求复杂之后可以再考虑更优化的方式。通过基础去获取思想……
0 0
- 【Java基础三】InputStream获取文件并保存
- android 打开pdf文件 从inputStream读取数据并保存为文件
- 服务器获取字节流并保存文件
- 获取文件的系统图标并保存
- 获取系统相册,并保存文件
- java 中 excel生成并文件下载保存到本地(三)
- java实现从RUI获取文件并保存本地(实用方法)
- [Java Web]从服务器获取文件并保存(预览)本地客户端
- java基础——InputStream
- [java基础]InputStream,InputStreamReader,BufferedReader
- Java基础 InputStream输入流
- java获取网页内容保存到文件
- 上传文件 用inputStream获取文件流
- 三种Python下载url并保存文件的代码
- 获取桌面并将其保存为位图文件
- 获取当前屏幕图像并保存为bmp文件
- 获取表单文件,并保存在本地(Servlet)
- Python获取网页源码并保存为文件Demo
- mysql 5.7.10使用dbforget Studio 连接异常 提示:The'INFORMATION_SCHEMA.SESSION_VARIABLES' feature is dis
- Wireshark和TcpDump抓包分析心得
- tikz-坐标平移
- 326. Power of Three
- MySQL5.7 更改root密码时报错
- 【Java基础三】InputStream获取文件并保存
- 苹果邓白氏编码 以及申请开发者账号流程
- MySQL安装板安装及配置详细图解
- FZU 1056之扫雷游戏
- JAVA_OA管理系统(三)番外篇:Myeclipse导入Spring源码包
- iOS适配
- 第16周文件操作(3)
- Android 使用ContentProvider扫描手机中的图片
- ToolBa详解