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

> 为何new FileOutPutStream和new File创建不了文件?java.io.FileNotFoundException 系统找不到指定的路径
为何new FileOutPutStream和new File创建不了文件?java.io.FileNotFoundException 系统找不到指定的路径
lililiben & &
发布时间: & &
浏览:121 & &
回复: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();
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&}

我要回帖

更多关于 new file 创建文件夹 的文章

更多推荐

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

点击添加站长微信