文件的上传与下载(二)


1. java.io.File类

java.io.File类用于表示文件(目录)
File类只用于表示文件(目录)的信息(名称,大小等),不能用于表示文件内容的访问

public static void main(String[] args){
        //使用双斜杠,因为有转义字符
        File file1 = new File("E:\\FileDemo");
        System.out.println(file1.exists());
        if(!file1.exists()){
            file1.mkdir();//创建一级目录   file.mkdirs()创建多级目录

        }

        System.out.println("是否是目录"+file1.isDirectory());
        System.out.println("是否是文件"+file1.isFile());

        File file2 = new File("E:\\FileDemo\\1.txt");
        System.out.println(file2.exists());
        if(!file2.exists()){
            try{
                file2.createNewFile();
            }catch(Exception e){
                e.printStackTrace();
            }
        }
        System.out.println("是否是目录"+file2.isDirectory());
        System.out.println("是否是文件"+file2.isFile());

        //常用的File对象的API
        System.out.println(file1);//直接显示file.toString()的内容  E:\\FileDemo
        System.out.println(file1.getName());//FileDemo
        System.out.println(file2.getName());//1.txt
        System.out.println(file2.getParent());//E:\\FileDemo

    }

ps:

  • mkdir()创建的是目录,即使路径上带着后缀名,最后也是文件夹。例如 File file2 = new File("E:\\FileDemo\\1.txt"),也是生成文件名为file.txt的文件夹,而不是 txt 文件。
  • createNewFile() 用来创建文件

2. File文件目录的遍历操作

这里写图片描述

package com.cn;
import java.io.File;
import java.io.IOException;

//列出File一些常用操作,比如过滤,遍历等操作
public class FileUtils {

 public static void main(String[] args) throws IOException {
   File dir= new File("E:\\");
    if(!dir.exists()){
        throw new IllegalArgumentException("目录" +dir+ "不存在");
    }

    if (!dir.isDirectory()){
        throw new IllegalArgumentException(dir+ "不是目录");
    }
    listDirectory1();
    listDirectory2();
    listDirectory3();
}
2.1 显示该文件夹下一层的所有目录名,包括文件,压缩包的名字
  public static void listDirectory1(File dir) throws IOException{
       String[] filesNames =dir.list();//返回的是字符串数组
        for (String string:filesNames){
            System.out.println(string);
        } 
 }

结果:
1.rar
2.mp3
3.txt
file

2.2 如果要遍历子目录下的内容,就需要构造成File对象做递归操作,File提供了直接返回
    public static void listDirectory2(File dir) throws IOException{
        File[] files = dir.listFiles();
        //显示该文件夹下一层的所有目录完整路径
        for (File file:files){
            System.out.println(file);
        }
 }   

结果:
E:\FileDemo\1.rar
E:\FileDemo\2.mp3
E:\FileDemo\3.txt
E:\FileDemo\file

2.3 显示该目录下所有的子目录中的文件,使用递归

  public static void listDirectory3(File dir) throws IOException{
   File[] files = dir.listFiles();
   //只显示文件,不显示目录
    if(files!=null && files.length>0){
        for (File file:files){
            if(file.isDirectory()){
                listDirectory3(file);
            }else{
                System.out.println(file);
            }
        }
    }
 }   

结果:
E:\FileDemo\1.rar
E:\FileDemo\2.mp3
E:\FileDemo\3.txt
E:\FileDemo\file.txt

### 禅修小程序开发概述 微信小程序作为一种轻量级的应用形式,非常适合用于禅修类应用的开发。这类小程序可以为用户提供便捷的服务,例如查看寺庙活动安排、在线报名参与以及远程观看直播等功能[^2]。 #### 功能模块设计 1. **活动查询与管理** 用户可以通过小程序轻松查看寺庙近期的法会、祈福、禅修等活动安排。此功能通常涉及后台数据管理和前端展示逻辑的设计。通过数据库存储活动信息,如时间、地点、主题等内容,并利用API接口实现动态更新[^4]。 2. **在线报名系统** 提供用户填写个人信息的功能,以便完成活动报名流程。该部分需要考虑表单验证机制以确保提交的数据准确性。同时还需要对接支付网关来处理可能存在的费用缴纳环节。 3. **直播与回放服务** 对于无法亲自到场参加活动的人群来说,实时视频流媒体技术显得尤为重要。开发者可以选择集成第三方SDK或者自行搭建RTMP服务器来满足这一需求。此外还需注意版权保护措施以免非法传播。 4. **用户体验优化** 考虑到目标群体多为追求内心平静之人,在界面UI/UX设计上应保持简洁优雅风格;配色方案建议采用柔和自然色调营造宁静氛围感 。另外还可以加入背景音乐播放器插件 ,让用户随时聆听舒缓心灵 的旋律 。 ```javascript // 示例代码:获取当前日期之后七天内的所有活动列表 function fetchUpcomingEvents() { const today = new Date(); wx.cloud.callFunction({ name: 'get_events', data: { startDate: today, endDate: addDays(today, 7) } }).then(res => { console.log('Fetched events:', res.result); }); } function addDays(date, days) { var result = new Date(date); result.setDate(result.getDate() + days); return result; } ``` #### 技术选型推荐 - 前端框架:WePY 或者 Taro 可帮助提高跨平台兼容性和组件化程度。 - 后端云服务:腾讯云COS+BaaS架构能有效降低运维成本并增强扩展能力。 - 数据库选择:考虑到读写频率较高且结构相对固定的特点,选用关系型数据库 MySQL 更加合适。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值