为什么new FileOutPutStream和new file创建文件不了文件

为什么new FileOutPutStream和new File创建不了文件_百度知道
为什么new FileOutPutStream和new File创建不了文件
我有更好的答案
你创建的对象名跟你实例化的时候的对象名是一样的, 在你没有import java.io.FileOutputS给你创建的对象指订担斥杆俪访筹诗船涧定FileOutputStream时 会默认为你创建的对象,出现这种问题就要看你想要怎么处理了, 可以import java.io.FileOutputS或者你...
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁> 为何new FileOutPutStream和new File创建不了文件?java.io.FileNotFoundException 系统找不到指定的路径
为何new FileOutPutStream和new File创建不了文件?java.io.FileNotFoundException 系统找不到指定的路径
lililiben & &
发布时间: & &
浏览:120 & &
回复:0 & &
悬赏:0.0希赛币
为什么new FileOutPutStream和new File创建不了文件?java.io.FileNotFoundException 系统找不到指定的路径
  FileOutPutStream在c盘等一级目录下是可以创建文件的,如: new FileOutputStream("c:\\kk.txt");但是在c\\test等就创建不了,File也是一样,为什么呢?直接去看jdk,大概是为了防止随意创建文件对磁盘攻击吧。
  因此“java.io.FileNotFoundException 系统找不到指定的路径"的问题会经常出现在我们的编程中,原因可能有三:(1)文件名乱码。你工程的编码是 utf-8还是 gbk,如果是gbk那么小心文件名如果有中文,会乱码。
  (2)没有创建文件夹,在没有文件夹情况下,创建文件将报错.解决方案为先创建文件夹,具体代码见下面。
  (3)有文件夹,但文件所在位置无文件夹,即文件路径太深,超过二级。解决方案同2.
  代码如下:
  import java.io.F
import java.io.FileNotFoundE
import java.io.FileOutputS
import java.io.IOE
import java.io.OutputS
import java.io.OutputStreamW
import java.io.UnsupportedEncodingE
public class Test {
public static void main(String[] args) {
OutputStreamWriter osw =
File directory =
File file =
String fileName = "D:" + File.separator + "fewlkfe"
+ File.separator + "分为2";
directory = new File(fileName);
directory.mkdirs();
if (!directory.exists()) {
file = new File(fileName + File.separator + "哈哈2.csv");
file.createNewFile();
if (!file.isFile()) {
osw = new OutputStreamWriter(new FileOutputStream(file));
osw.write("few");
osw.flush();
} catch (Exception e) {
} finally {
osw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&java 后台 Excel 文件生成后转化为字节流 - 心静如水,人淡如菊! - ITeye技术网站
博客分类:
java 后台 Excel 文件生成后转化为字节流
java excel 使用 poi组件, HSSFWorkbook workBook = new HSSFWorkbook();
对于workBook生成字节流,很容易发现有个workBook .getBytes(),但是,是不可用的,下载以后打不开,
如果下载,正确的写法为
workBook.write(response.getOutputStream());
如果转化为字节流:
ByteArrayOutputStream os = new ByteArrayOutputStream();
workBook.write(os);
ByteArray bytes = os.toByteArray();
String fileName = "xxx.xls";
response.reset();
response.setContentType("application/charset=utf-8");
response.setHeader("Content-disposition", "filename= "+ fileName);
response.getOutputStream().write(bytes.getRawBytes());
response.getOutputStream().flush();
response.getOutputStream().close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
上代码经过验证可行。
java excel 使用 poi组件, HSSFWorkbook workBook = new HSSFWorkbook();
对于workBook生成字节流,很容易发现有个workBook .getBytes(),但是,是不可用的,下载以后打不开,
如果下载,正确的写法为
workBook.write(response.getOutputStream());
如果转化为字节流:
ByteArrayOutputStream os = new ByteArrayOutputStream();
workBook.write(os);
ByteArray bytes = os.toByteArray();
String fileName = "xxx.xls";
runData.getResponse().reset();
runData.getResponse().setContentType("application/charset=utf-8");
runData.getResponse().setHeader("Content-disposition", "filename= "+ fileName);
runData.getResponse().getOutputStream().write(bytes.getRawBytes());
runData.getResponse().getOutputStream().flush();
runData.getResponse().getOutputStream().close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
:ByteArrayOutputStream os = new ByteArrayOutputStream();
hssfWorkbook.write(os);
return new FileTransfer(new String("XXXX.xls".getBytes(),"iso8859-1"),
"application/ms-excel", os.toByteArray());
catch (IOException e)
e.printStackTrace();
这里,我们使用了ByteArrayOutputStream和ByteArrayInputStream类...处理的思想是,将HSSFWorkbook 写入ByteArrayOutputStream.然后用ByteArrayOutputStream来转换为字节流..然后再将字节流转换为ByteArrayInputStream ..至此,我们就在内存中将excel转换成了输入流..
ByteArrayOutputStream os = new ByteArrayOutputStream();
wb.write(os);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
byte[] b = os.toByteArray();
ByteArrayInputStream in = new ByteArrayInputStream(b);
全部的代码太多,不贴上来了..相信大家都愿意用这个办法..因为使用之前说的那个产生随机文件名的办法.要繁琐的多...
首先,我们必须明确我们所要实现的功能.我们在之前已经使用SHHF完成了excel的生成,现在的工作是将这个excel转换成输入流提供给struts2以实现下载...也就是说我们是要转换成输入流....
明确了目标以后,我们将开始设计...我们的思路是,先创建一个输出流,将这个excel写入到输出流里面,然后再通过这个输出流来得到我们所需要的输入流...这里我们尝试了两张办法.第一种,就是使用临时文件的办法.我们创建的输出流先将内容写入到临时文件里面,然后我们从临时文件里读取输入流.这个办法我们用到的是FileOutputStream 和FileInputStream.
但是临时文件的问题让程序变得异常复杂,所以我们的目标改成在内存中完成对excel到输入流的转换.所以我们用到了ByteArrayInputStream 和ByteArrayOutputStream .其实就是这么简单..
最后附上从Excel模板获得需要导出的EXCEL文件的输入流方法。
public InputStream getExcelISForAs(List&Object& list) throws Exception {
InputStream excelStream = null;
FileInputStream fis = new FileInputStream(templatePath + "/template.xls");
HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(fis));
fis.close();
generateExcelForAs(list, wb);//填充EXCEL内容方法
ByteArrayOutputStream out = new ByteArrayOutputStream();
HSSFWorkbook hssWb = (HSSFWorkbook)
hssWb.write(out);
excelStream = new ByteArrayInputStream(out.toByteArray());
out.close();
return excelS
齐晓威_518
浏览: 151911 次
来自: 郑州
这是增加删除列,,,,
很明显这是增加删除行
[/color]x-sma ...
Hi 齐晓威_518,我想问问,在excel 到出的时候,你上 ...Java IO 问题 创建一个新文件夹。 并且写入一个文件_百度知道
Java IO 问题 创建一个新文件夹。 并且写入一个文件
xml&quot.xml&:Exception in thread &quot.xml (系统找不到指定的路径;\&这个也不行new FileOutputStream(new File(&quot我给入的参数是一个系统文件夹中并不存在的文件夹名字;\API_Login\\main&TestResult&#92:&#92.FileNotFoundException, xmlName
+ &quot.xml” 这个方法不行new FileOutputStream(D。是要创建子文件夹;TestResult&#92: D;&TestResult\)); 都不能创建出folderName这个文件夹 错误是。 并在子文件夹下创建我的文件所以我给的参数是 “新文件夹”+“文件名;)));; + folderN + folderName + xmlName
+ &\D:&#92:&#92.API_Login_Error_1
提问者采纳
)); boolean b=f.xml&\\&; + folderName + xmlName + &D;&\TestResult&#92:&#92.mkdirs();D:&#92,然后在创建文件夹下的输出文件if(b) FileOutputStream fos=new FileOutputStream(& 先创建文件夹; + folderName);TestResult\&#92你用File f=new File(&quot
提问者评价
谢谢主要就在这里f.mkdirs();
其他类似问题
为您推荐:
其他2条回答
下面是创建文件的代码:
import java.io.F
import java.io.IOE
public class CreateFilepathAndFile {
* @param args
public static void main(String[] args) {
createFile(&D:\\TestResult\\&,&fileName&);
} catch (IOException e) {
e.printStackTrace();
private static void createFile(String path, String fileName) throws IOException {
File file = new File(path);
if(!file.exists()) {
file.mkdirs();
File newFile = new File(file.getAbsolutePath() + File.separator + fileName + &.xml&);
newFile.createNewFile();
你的代码是FileOutputStream写入文件前提是有文件路径要存在,按照我上面的代码生成文件,然后向FileOutpu...
public class ReadFromFile {
* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
public static void readFileByBytes(String fileName) {
File file = new File(fileName);
InputStream in =
System.out.println(&以字节为单位读取文件内容,一次读一个字节:&);
// 一次读一个字节
in = new FileInputStream(file);
while ((tempbyte = in.read()) != -1) {
System.out.write(tempbyte);
in.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println(&以字节为单位读取文件内容,一次读多个字节:&);
// 一次读多个字节
byte[] tempbytes = new byte[100];
int byteread = 0;
我考。。。
这是干啥呢。
你复制这么多
没有我要用的
照着改改呗。我给你的这些东西 基本已经涵盖了 java 读写文件的基本api调用了想学好java 自己不试试怎么行,直接给答案换个 需求又傻眼了
............
这就是个API的事。。
文件夹的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 创建podfile文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信