老师,使用File创建目录和文件,但创建成功后该目录下并没有文件?
public class FileInputDemo {
public static void main(String[] args) {
//创建目录
File file1=new File("speech.txt");
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
if(!file1.exists()) {
file1.mkdir();
}
//
if(!file1.exists()) {
try {
file1.createNewFile();//创建文件
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
FileInputStream f=new FileInputStream("C:\\Users\\67077\\Desktop\\实验文件\\项目\\JAVA\\Fileioproj\\speech.txt");
//byte[] b=new byte[100];
//f.read(b, 0, 5);
int n=0;
int count=0;
System.out.print("文本内容:");
while((n=f.read())!=-1) {
System.out.print((char)n);
count++;
}
System.out.println();
System.out.println("统计结果:"+file1.getName()+"文件中共有"+count+"个字符");
f.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}5
收起
正在回答
2回答
同学你好,同学还需要将判断文件不存在时,则创建文件夹,这部分代码删掉,因为同学创建的File对象为speech.txt文件,也就无法创建文件夹。具体如下:

然后进行执行程序后,刷新项目即可看到speech.txt文件,在speech.txt中输入文本内容:abcdefghijklmnopqrst,再次执行程序,即可读取文本内容,并统计字节。
修改后的代码如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileInputDemo {
public static void main(String[] args) {
// 创建目录
File file1 = new File("speech.txt");
//
if (!file1.exists()) {
try {
file1.createNewFile();// 创建文件
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
FileInputStream f = new FileInputStream(file1);
// byte[] b=new byte[100];
// f.read(b, 0, 5);
int n = 0;
int count = 0;
System.out.print("文本内容:");
while ((n = f.read()) != -1) {
System.out.print((char) n);
count++;
}
System.out.println("统计结果:" + file1.getName() + "文件中共有" + count + "个字符");
f.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
好帮手慕酷酷
2019-08-29 11:46:10
同学你好,代码的实现上有些问题,在FileInputStream中不需要指定路径,直接使用File创建的文件路径即可~执行完程序后,刷新项目即可看到speech.txt文件
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileInputDemo {
public static void main(String[] args) {
//创建目录
File file1=new File("speech.txt");
if(file1.isDirectory()) {
file1.mkdir();
}
//
if(file1.isFile()) {
try {
file1.createNewFile();//创建文件
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
FileInputStream f=new FileInputStream(file1);
//byte[] b=new byte[100];
//f.read(b, 0, 5);
int n=0;
int count=0;
System.out.print("文本内容:");
while((n=f.read())!=-1) {
System.out.print((char)n);
count++;
}
System.out.println("统计结果:"+file1.getName()+"文件中共有"+count+"个字符");
f.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星