老师,使用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 星