文件流问题: file 写到另一个 file
/** * 把服务器上源文件写到本项目临时文件夹中; * 目的为了在jsp页面在线转换PDF时能获取到url * this.getServletConfig().getServletContext().getRealPath("/") 获取项目运行路径 * @param fjpath 附件相对路径 * */ private void writeToProject(String fjpath) { String name = null; String fileFold = null; InputStream is = null; FileOutputStream fos = null; String lswjj = null; try { String[] names = fjpath.split("//"); //以斜杠分割,因为保存在附件表中的路径为:/JYGL_ZYJSFJ//2016届毕业简介_1449544857570.pdf fileFold = names[0]; //文件夹:/JYGL_ZYJSFJ name = names[1]; //文件名:2016届毕业简介_1449544857570.pdf lswjj = this.getServletConfig().getServletContext().getRealPath("/")+fileFold; //临时文件夹(自定义路径) QyDao qydao = new QyDao(); //企业Dao操作类 String xtglPath = qydao.findFilePath(); //xtgl_xtsz(系统设置表)中保存的文件夹路径 File file = new File(xtglPath+fjpath); //源文件 D:\xgxt\files\JYGL_ZYJSFJ\2016届毕业简介_1449544857570.pdf is = new FileInputStream(file); File newFold = new File(lswjj); //新的临时文件夹 boolean fold = newFold.exists(); if (fold == false) { newFold.mkdirs(); //创建文件夹 } File uploadFile = new File(lswjj + File.separator + name); //uploadFile:D:\JDevRuntime1213\system12.1.3.0.41.140521.1008\o.j2ee\drs\JywApp\ViewControllerWebApp.war\JYGL_ZYJSFJ\2016届毕业简介_1449544857570.pdf System.out.println("uploadFile:"+uploadFile); fos = new FileOutputStream(uploadFile); byte[] buffer = new byte[1024]; int length = buffer.length; int size = 0; while ((size = is.read(buffer, 0, length)) != -1) { fos.write(buffer, 0, size); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (is != null) { is.close(); } if (fos != null) { fos.close(); } } catch (Exception e) { e.printStackTrace(); } } }
package com.caac; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; public class Doc { /** * 负责将path1路径下的文件同步到path2下 * * @param path1 * OA系统中读取附件的URL * @param path2 * 档案系统中存放附件的路径 * @throws MalformedURLException * @throws UnsupportedEncodingException */ public void wirteDoc(String path1, String path2) throws MalformedURLException, UnsupportedEncodingException { URL file = new URL(path1); OutputStream outputStream = null; InputStream inputStream = null; FileOutputStream out = null; File temp = null; try { inputStream = file.openStream(); byte[] buffer = new byte[1024];// 设置一个大小为1K的数据缓冲空间 int len = 0; temp = new File(path2.substring(0, path2.lastIndexOf("\\"))); if (!temp.exists()) { temp.mkdirs(); } out = new FileOutputStream(path2); while ((len = inputStream.read(buffer)) != -1) { out.write(buffer, 0, len);// 将缓冲空间的值写入path2对应的文件夹下 } } catch (IOException e) { e.printStackTrace(); } finally { try { if (outputStream != null) { outputStream.close(); } } catch (Exception e) { e.printStackTrace(); } } } /** * 把服务器上源文件写到本地文件夹中; * * @param sourcePath * 附件源路径 * @param aimFold * 目标路径文件夹 * @param aimPath * 目标附件路径 * */ public static void writeToProject(String sourcePath, String aimFold, String aimPath) throws MalformedURLException, UnsupportedEncodingException { InputStream is = null; FileOutputStream fos = null; System.out.println("fold:" + aimPath.substring(0, aimPath.lastIndexOf("\\"))); try { File file = new File(sourcePath); // 源文件 is = new FileInputStream(file); File newFold = new File(aimFold); // 新的文件夹 boolean fold = newFold.exists(); if (fold == false) { newFold.mkdirs(); // 创建文件夹 } File uploadFile = new File(aimPath); fos = new FileOutputStream(uploadFile); byte[] buffer = new byte[1024]; int length = buffer.length; int size = 0; while ((size = is.read(buffer, 0, length)) != -1) { fos.write(buffer, 0, size); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (is != null) { is.close(); } if (fos != null) { fos.close(); } } catch (Exception e) { e.printStackTrace(); } } } /** * 把服务器上源文件写到本地文件夹中; * * @param sourcePath * 附件文件夹源路径 * @param aimFold * 目标路径文件夹 * @throws UnsupportedEncodingException * @throws MalformedURLException * */ public void readfile(String sourcePath, String aimFold) throws MalformedURLException, UnsupportedEncodingException { String sourceFile = ""; String aimPath = ""; File file = new File(sourcePath); if (!file.isDirectory()) { } else if (file.isDirectory()) { String[] filelist = file.list(); for (int i = 0; i < filelist.length; i++) { File readfile = new File(sourcePath + "\\" + filelist[i]); sourceFile = sourcePath + "\\" + filelist[i]; if (!readfile.isDirectory()) { // 非文件夹 aimPath = aimFold + (i + 1) + "_" + filelist[i]; System.out.println("aimPath:" + aimPath); writeToProject(sourceFile, aimFold, aimPath); } else if (readfile.isDirectory()) { readfile(sourcePath + "\\" + filelist[i], aimFold); } } } } public static void main(String[] args) { // String str = // "d:\\asfroot\\userfile\\dag\\dba\\oatemp\\attach\\oatemp_24_4_2.doc"; // System.out.println(str.substring(0, str.lastIndexOf("\\"))); // System.out.println("aaa,bbb,ccc".substring(0,"aaa,bbb,ccc".indexOf(","))); // Doc doc = new Doc(); // try { // doc.writeToProject("E:\\test\\勤工助学测试要点.doc", "F:\\aaa\\", // "F:\\aaa\\test.doc"); // } catch (MalformedURLException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } catch (UnsupportedEncodingException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } Doc doc = new Doc(); try { doc.readfile("E:\\test", "F:\\aaa\\"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("finish."); } }
相关推荐
标题中的"readwrite_to_file_csvread_"涉及到的是在IT领域中处理CSV文件的读写操作,特别是与西门子WinCC 2020相关的应用。CSV(Comma Separated Values)是一种常见的数据交换格式,它以纯文本形式存储表格数据,...
"Write To File Speed Test - 副本_labview_" 是一个专门针对LabVIEW的文件读写速度测试程序,旨在帮助用户了解和优化他们的文件操作性能。 首先,我们需要理解LabVIEW中的文件I/O操作。LabVIEW提供了丰富的文件...
MySQL error:Can’t create/write to file ‘#sql_5c0_0.MYD’ MySQL server error: Can’t create/write to file ‘C:/WINDOWS/TEMP/#sql_a80_0.MYD’ (Errcode: 17) ( 1 ) 根据从网上搜索问题提示和自己遇到的情况...
错误提示:Error: Can’t create/write to file ‘C:\WINDOWS\TEMP\#sql_738_0.MYD’ (Errcode: 17) Errno.: 1 问题分析: 1、C:\Windows\TEMP 文件夹权限不够,至少也要给出 USERS 组的可读可写权限; 2、C:\...
LogToFile ↓支持一下 Android a simple and practical to print to local phone logs Log files open source The log file is written to the tools, the priority SD card -> external memory -> internal ...
标题和描述中提到的问题是关于在易网主机上运行Shopex或Ecshop这两个电子商务平台时遇到的一个常见错误,即"Can't create/write to file"。这个错误通常发生在系统尝试写入或创建文件时,由于某些原因无法完成操作。...
针对标题和描述中所提及的“Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法”,该问题主要发生在尝试在Windows操作系统的TEMP文件夹中创建或写入文件时失败,通常会导致MySQL数据库软件报错。...
然而,从Android 9.0 (Pie)开始,Google引入了一些更改,其中包括默认启用Write-Ahead Logging(WAL)模式,这可能会导致一些开发者在尝试打开或操作数据库时遇到问题,如标题所示的“File opened that is not a ...
Excel VBA 表格内容保存文件文件,WriteToTextFile函数直接调用,内附代码,可以直接调用。
在使用MySQL数据库的过程中,有时可能会遇到“Can't create/write to file”这样的错误,这通常意味着数据库尝试写入或创建一个文件时遇到了问题。本篇文章将深入探讨这个问题的原因以及相应的解决方案。 首先,这...
if (file.canWrite()) { System.out.println("文件可写!"); } ``` 3. **delete()** - 删除由该`File`对象表示的文件或目录。 - **返回值**:如果成功删除,则返回`true`;否则返回`false`。 - **示例代码*...
* `public boolean renameTo(File f)`: 将文件重命名为指定的文件。 * `public File[] listRoots()`: 获取机器的盘符。 * `public String[] list()`: 列出文件夹下的文件和文件夹。 * `public String[] list...
例如,你可以使用`new File("path/to/file.txt")`创建一个`File`对象,然后调用`exists()`检查文件是否存在,`createNewFile()`创建新文件,或`renameTo(newFile)`进行重命名。 2. **读取文件**:读取文件通常涉及`...
File file = new File("path_to_file"); FileInputStream fis = new FileInputStream(file); ``` 2. `OutputStream`与`File`的转换: 对于向文件写入数据,我们可以使用`FileOutputStream`。同样,它也是`...
If file.Attributes And Scripting.FileSystemObjectgetAttribute(file.Path, Scripting.FILE_ATTRIBUTE_READONLY) Then ' 文件是只读的 Else ' 文件不是只读的 End If ' 设置文件为只读 file.Attributes = ...
1.Unable to write to this file.File or directory is invalid or unavailable。 解决方法是单击 Output Reflectance File 按钮,选择反射率数据输出目录及文件名,或者直接手动输入。 2.ACC Error:convert7 IDL...
- `renameTo(File dest)`用于重命名或移动文件。 - `append(String text)`在文件末尾追加内容,需要配合`BufferedWriter`等流进行。 7. 链接文件: - `isDirectory()`和`isFile()`检查文件是否为目录或文件。 ...
本文将深入探讨VB中如何实现文件的读取和写入,并结合提供的"VB FILE writeread.pdf"文件,来讲解相关知识点。 首先,VB提供了两个主要的类,用于处理文件操作:`StreamReader`和`StreamWriter`。它们分别用于读取...