`
nannan408
  • 浏览: 1771059 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

为什么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.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;

public class Test {
	public static void main(String[] args) {
		OutputStreamWriter osw = null;
		File directory = null;
		File file = null;
		try {
			String fileName = "D:" + File.separator + "fewlkfe"
					+ File.separator + "分为2";
			directory = new File(fileName);
			directory.mkdirs();
			if (!directory.exists()) {
				return;
			}
			file = new File(fileName + File.separator + "哈哈2.csv");
			file.createNewFile();
			if (!file.isFile()) {
				return;
			}
			osw = new OutputStreamWriter(new FileOutputStream(file));
			osw.write("few");
			osw.flush();
					} catch (Exception e) {

		} finally {
			try {
				osw.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

 

 

1
0
分享到:
评论
2 楼 feilian09 2013-07-23  
什么原因,求贴
1 楼 dingruilin1987 2013-01-15  
终于找到原因了,thanks!

相关推荐

    Java中文件IO流.pdf

    然后,我们使用 FileInputStream 和 FileOutputStream 创建了输入流和输出流对象,并对文件执行读取和写入操作。最后,我们使用 close() 方法关闭了输入流和输出流对象。 在 Java 中,文件 IO 流操作是非常重要的,...

    FileOutputStream将乘法口诀表写入指定文件

    import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class MultiplicationTable { public static void main(String args[]){ long st = System....

    Android实现下载zip压缩文件并解压的方法(附源码)

    其实在网上有很多介绍下载文件或者解压zip文件的文章,但是两者结合的不多,所以这篇文章在此记录一下下载zip文件并直接解压的方法,直接上代码,文末有源码下载。 下载: import java.io.BufferedInputStream; ...

    FileOutputStream向文件进行输出.txt

    // 创建FileOutputStream实例,并指定文件路径和是否追加模式 FileOutputStream fos = new FileOutputStream("net/mypack/aa.txt", true); // 将字节数组写入文件 fos.write(bs); // 刷新输出流缓冲区 fos....

    io读写.zip

    1. **文件操作**:`File`类是文件和目录路径名的抽象表示,用于创建、删除、重命名文件或目录,以及获取文件属性。例如,你可以用`new File("path")`创建一个File对象,然后通过`exists()`, `createNewFile()`, `...

    java.io的基础应用

    这段代码中,首先创建了两个`File`对象分别代表源文件和目标文件,然后通过`FileInputStream`打开源文件,通过`FileOutputStream`打开目标文件。接着,使用`read()`方法读取源文件内容并写入目标文件,直到读取不到...

    jsp页面创建文件夹

    使用java.io.File类和java.io.FileOutputStream类可以创建文件。例如: java.io.File myFile = new java.io.File(Save_Location+"gmcc\\myfile.txt"); java.io.FileOutputStream fout = null; try { fout = new ...

    学生管理系统

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io....

    java文件操作大全.txt

    2. **实例化对象**:通过`new File(path)`创建一个`File`对象,该对象代表指定路径下的文件或目录。 3. **检查文件夹是否存在**:使用`exists()`方法检查文件夹是否已经存在。 4. **创建文件夹**:如果文件夹不存在...

    Java对文件的操作

    这段代码创建了一个名为`copyFile`的方法,它接受源文件路径和目标文件路径作为参数,然后读取源文件内容并写入到目标文件。这种方法能处理包含中文字符的文件,并且可以复制各种类型的文件,例如文本、图片、文档等...

    java 二进制文件的读写操作

    1. **创建File对象**:首先通过指定文件路径创建了一个`File`对象`fi`,这里指定了一个rmvb格式的视频文件。 2. **创建输入流**:接着使用`FileInputStream`创建了一个输入流`fis`,指向了前面创建的`File`对象。 3....

    文件及文件及的复制java代码

    例如,`File`类用于文件和文件夹的基本操作,而`FileInputStream`和`FileOutputStream`则用于文件的读写操作。 ##### 2. 类定义 ```java public class CTest { // ... } ``` 这里定义了一个名为`CTest`的公共类...

    File-Operation-by-java.rar_java 文件复制_operation

    但是,如果源文件和目标文件位于不同的文件系统下,这可能无法工作。在这种情况下,需要先复制文件,然后删除源文件,模拟移动操作。 3. **文件删除**: 删除文件是通过`File`类的`delete()`方法实现的。该方法会...

    Java源代码打开指定类型的文件.rar

    在Java编程中,打开指定类型的文件是常见的任务,这通常涉及到文件I/O操作以及文件路径处理。本资源“Java源代码打开指定类型的文件.rar”包含了实现这一功能的示例代码,我们将深入探讨如何在Java中处理这个需求。 ...

    计算机网络实验报告 获取MAC socket通信

    new java.io.File("d:\\数据库.zip")); // 转换成网络输出流 java.net.ServerSocket ss = new java.net.ServerSocket(9000); java.net.Socket sk = ss.accept(); //DataOutputStream 处理数据 数据的输出...

    Java读写xml,word,xml文件(防乱码)

    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8")); bw.write(content); bw.newLine(); bw.close(); System.out.println("写入成功"); } catch ...

    java_io_文件操作_复制_删除_移动_下载

    1. **创建文件对象:**通过传入路径创建源文件和目标文件的`File`对象。 2. **创建流:**使用`FileInputStream`读取源文件,使用`FileOutputStream`写入目标文件。 3. **读写数据:**使用缓冲区(如`byte[] buffer`...

    JAVA实现文件复制.pdf

    然而,为了处理更复杂的情况,如保留原始文件属性(如修改日期、权限等)或处理网络文件系统,可能需要使用更高级的API,如NIO(New IO)或Java 7引入的文件系统API。同时,为了处理多层目录结构,需要对 `dirCopy` ...

    java_readwrite_file.java.zip_java card

    例如,`File`类用于表示文件和目录路径,`BufferedReader`和`BufferedWriter`用于文本读写,而`FileInputStream`和`FileOutputStream`则用于二进制数据的读写。 2. **SD卡访问**: 在Android系统中,可以使用`...

    北大青鸟java.io经典例子

    在Java编程语言中,`java.io`包是核心部分之一,它包含了用于输入/输出(I/O)操作的各种类和接口。北大青鸟的课程中,`java.io`的经典例子通常会涵盖基本的文件读写、流的使用、数据转换等关键概念。以下是基于这个...

Global site tag (gtag.js) - Google Analytics