使用文件流创建File文件和目录以及其他的一些操作

我们创建文件时可以直接通过File f=new File(path)来创建一个文件对象,然后再通过 f.createNewFile() 就创建出来了一个文件。比如设置 path 为 C:\Users\wcl\Desktop\demo.txt  就可以在桌面上创建一个 demo.txt 文件。注意这里要try/catch。

       try {
            String path = "C://Users/wcl/Desktop/demo.txt";
            File f = new File(path);
            f.createNewFile();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

如果你的path里还包含了未创建的文件夹目录,比如 path 为 C:\\Users\wcl\Desktop\data\demo.txt 则会报错,提示‘’系统找不到指定的路径‘’。,因为这里的 data 文件夹不存在。

这时候我们可以先创建文件夹再创建文件,创建文件夹可以使用f.mkdir()方法,如果你想创建一个多级文件夹,则可以用f.mkdirs()方法创建。

        try {
            String path = "C://Users/wcl/Desktop/data/demo.txt";
            File f = new File(path);
            if(!f.exists()){
                f.mkdirs();
            }
            f.createNewFile();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 

我这里写的path仍然为之前的path,执行上述的代码之后,我们会在桌面上创建出来一个data文件夹,打开文件夹后,会看到里面还有一个名为demo.txt的文件夹。

这不是我们想要的结果,因为我们想要的是data文件夹里有的是demo.txt文件,那么我们可以结合f.mkdirs()和f.createNewFile()两个方法来创建:

    try {
           String path = "C://Users/wcl/Desktop/data/demo.txt";
           File f = new File(path);
           if(!f.getParentFile().exists())
                f.getParentFile().mkdirs();if( !f.exists() ){
                    f.createNewFile();
                }
        } catch (IOException e) {
            e.printStackTrace();
        }

上面的代码先是通过f.getParentFile() 来获取到上一级的文件夹,也就是data文件夹,通过f.getParentFile().exists()来判断文件夹是否存在,如果不存在则创建 data 目录(文件夹),同时创建 demo.txt 文件。如果目录(文件夹)已存在,则进行第二次判断,判断目录文件中是否已存在 demo.txt 文件,如果存在则不操作,如果不存在就创建。这样目录和文件夹就都创建好了。

附:

1.创建临时文件

File f = File.createTempFile(“text”, "txt");

createTempFile()里面传入两个参数,第一个为临时文件的前缀,第二个为后缀。

2.遍历文件

String path="...";
        File f=new File(path);
        File []files = f.listFiles();
        for(File file:files){
            System.out.println(file.getAbsolutePath());
        }

3.关于路径分隔符:

因为不同系统的路径分隔符不一样,故可以在java中使用 File.separator 作为目录分隔符

比如之前的 path 路径就可以写成

String path = "C:"+File.separator+"Users"+File.separator+"wcl"+File.separator+"Desktop"+File.separator+"data"+File.separator+"demo.txt";
时间: 2024-11-05 21:47:00

使用文件流创建File文件和目录以及其他的一些操作的相关文章

C++学习47 文件的概念 文件流类与文件流对象 文件的打开与关闭

迄今为止,我们讨论的输入输出是以系统指定的标准设备(输入设备为键盘,输出设备为显示器)为对象的.在实际应用中,常以磁盘文件作为对象.即从磁盘文件读取数据,将数据输出到磁盘文件.磁盘是计算机的外部存储器,它能够长期保留信息,能读能写,可以刷新重写,方便携带,因而得到广泛使用. 文件(file)是程序设计中一个重要的概念.所谓“文件”,一般指存储在外部介质上数据的集合.一批数据是以文件的形式存放在外部介质(如磁盘.光盘和U盘)上的.操 作系统是以文件为单位对数据进行管理的,也就是说,如果想找存在外部

Java IO流中 File文件对象与Properties类

File类 用来将文件或目录封装成对象 方便对文件或目录信息进行处理 File对象可以作为参数传递给流进行操作 File类常用方法 创建 booleancreateNewFile():创建新文件,如果文件存在,返回false booleanmkdir():创建目录,只能创建一级目录 booleanmkdirs():创建目录,可创建多级目录 删除 booleandelete():删除文件,如果文件不存在,返回false,如果删除的是目录,需要确保目录是空的 voiddeleteOnExit():程

以文件流的方式 文件上传 下载

HTML: <div class="box-body">                                    <form id="upload_form" enctype="multipart/form-data"  action="/wjgl/fileSave" method="post">                                     

图片上传和文件夹创建、文件上传

protected void btnUp_Click(object sender, EventArgs e)        { string savePath = @"images/";//图片保存路径            string fileName = Server.HtmlEncode(picupload.FileName);            string extension = System.IO.Path.GetExtension(fileName).ToLower

安装kali 开机登陆 Ping 主机可达 Ctrl+c键来强行终止 ifconfig 查看网络状态 创建一个用户,并将其纳入root组,然后将用户删除 创建用户, 创建文件夹,文件夹中创建一些文件,将文件夹打包,最后解包到另一个文件中 创建一个文件。

安装linus操作系统 直接按回车确定 Live(amd64),就可以直接自动安装进入操作系统 安装完成后,进入界面. 创建用户zfh,密码123456 将用户zfh删除 利用ifconfig查看网络状态 创建zfh17文件夹,在文件夹里面创建17.txt,和18.txt. 利用rm,删除17.txt 利用ps-ef显示进程 查看磁盘容量 显示目录中所有文件的大小 在zfh200里面创建两个文件夹zfh201和zfh202,将zfh201压缩到zfh202中 解压缩 windows操作系统命令使

通过httpClient请求文件流(普通文件和压缩文件)示例

前言:通过浏览器请求文件流进行文件下载这里就不说了,网上有很多例子,这里主要是记录一下工作中的另一个场景,一个服务器通过HTTPClient向另一个服务请求文件流,在内存中进行业务逻辑处理,并不需要下载到本地,当然,如果你想要下载本地也是可以的,把文件流写到本地磁盘就可以了,也可以写到文件系统中.废话不多说. 一,服务器传输的是普通的文件流,没有经过压缩 服务器: @RequestMapping(value = "/getCommonFile", method = RequestMet

oc NSFileManager 文件夹创建、文件移动、文件复制、文件重命名

// 初始化管理类 NSFileManager * manager = [NSFileManager defaultManager]; // 路径 NSString * DirectoryPath = [NSHomeDirectory() stringByAppendingPathComponent:@"/desktop/我的文件夹1/我的文件夹2"]; NSError * error = nil; if ([manager createDirectoryAtPath:Director

pdf文件流生成pdf文件

protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Code.Login Starr_model = new Code.Login(); Code.InsuranceModel.InsuranceSegment_Result result = new InsuranceModel.InsuranceSegment_Result(); try { //判断接口请求是否成功 result = C

C++文件流类与文件流对象具体介绍

文件流是以外存文件为输入输出对象的数据流.输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据.每一个文件流都有一个内存缓冲区与之对应. 请区分文件流与文件的概念,不用误以为文件流是由若干个文件组成的流.文件流本身不是文件,而只是以文件为输入输出对象的流.若要对磁盘文件输入输出,就必须通过文件流来实现. 在C++的I/O类库中定义了几种文件类,专门用于对磁盘文件的输入输出操作.在 图13.2(详情请查看:与C++输入输出有关的类和对象)中可以看到除了标准输入输出流类istr