问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java根据路径读取文件

发布网友 发布时间:2022-04-25 23:38

我来回答

3个回答

热心网友 时间:2023-10-18 02:30

其读取方法为:

import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.IOException;  
import java.util.ArrayList;  
  
  
public class readFile {  
    private static ArrayList<String> listname = new ArrayList<String>();  
    public static void main(String[] args)throws Exception{  
        readAllFile("C:/Users/HP/Desktop");  
        System.out.println(listname.size());  
    }  
    public static void readAllFile(String filepath) {  
        File file= new File(filepath);  
        if(!file.isDirectory()){  
            listname.add(file.getName());  
        }else if(file.isDirectory()){  
            System.out.println("文件");  
            String[] filelist=file.list();  
            for(int i = 0;i<filelist.length;i++){  
                File readfile = new File(filepath);  
                if (!readfile.isDirectory()) {  
                    listname.add(readfile.getName());  
                } else if (readfile.isDirectory()) {  
                    readAllFile(filepath + "\\" + filelist[i]);//递归  
                }  
            }  
        }  
        for(int i = 0;i<listname.size();i++){  
            System.out.println(listname.get(i));  
        }  
    }  
}

热心网友 时间:2023-10-18 02:30

直接贴代码吧。不过这里要做一个简单的说明,对于这个程序,我们必须保证我们在C盘下有一个Users\HP\Desktop的文件夹,因为在后面写入文件的时候,如果路径中的文件不存在,是程序可以自动为其添加,但如果没有了这个路径,则程序会报找不到文件路径的异常。你可以对这个异常进行人性的处理,还可以在程序要向这个路径写入数据之前,创建出这个路径。
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;
public class ListRoots {

private static final String LOG_BASE_PATH = "C:\\Users\HP\\Desktop\\";
private static ArrayList<String> mfiles = new ArrayList<String>();

/**
* 得到给定路径下的目录或是文件
* @param strPath
* @throws Exception
*/
private static void displayDirsOrFiles(String strPath) throws Exception {
try {
File f = new File(strPath);
if (f.isDirectory()) {
File[] fList = f.listFiles();
for (int j = 0; j < fList.length; j++) {
if (fList[j].isDirectory()) {
System.out.println("Directory is: "+ fList[j].getPath());
displayDirsOrFiles(fList[j].getPath()); // 对当前目录下仍是目录的路径进行遍历
}
}
for (int j = 0; j < fList.length; j++) {
if (fList[j].isFile()) {
String name = fList[j].getPath().toString();
System.out.println("Filename is: " + name);
mfiles.add(fList[j].getPath());
}
}
}
} catch (Exception e) {
System.err.println("Error: " + e);
}
}

/**
* 向文件中写入数据
* @param dirOrfiles
* @throws IOException
*/
private static void writeDetailToFiles(ArrayList<String> dirOrfiles) throws IOException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd H:m:s");
toFiles(getLogPath(), format.format(new Date()) + " -- 检测到文件" + dirOrfiles.size() + "个:" + "\r\n");
for (String file : dirOrfiles) {
toFiles(getLogPath(), file + "\r\n");
}
toFiles(getLogPath(), "--------------------------------------------------------------------------------------------------------------------------\r\n");
}

/**
* 获得写入数据的路径
* @return
*/
private static String getLogPath() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
return LOG_BASE_PATH + format.format(new Date()) + ".txt";
}

/**
* 向dir路径下写入数据data
* @param path
* @param data
*/
private static void toFiles(String path, String data) throws IOException {
File file = new File(path);
if (!file.exists()) {
file.createNewFile();
}

FileWriter fw = new FileWriter(file, true);
fw.write(data);
fw.flush();
fw.close();
}
public static void main(String[] args) {

Scanner input = new Scanner(System.in);
System.out.println("请输入待遍历目录路径(Format: F:\\a\\b):");
String strPath = input.nextLine();

try {
displayDirsOrFiles(strPath.replace("\\", "\\\\"));
writeDetailToFiles(mfiles);
} catch (Exception e) {
e.printStackTrace();
}
}
}

热心网友 时间:2023-10-18 02:31

读取文件内容还是读取某个目录下的所有文件名?追问这个路径下的文件内容

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如果银行拒贷有哪些办法 小天鹅滚筒洗衣机水位多少合适 阴阳师百闻牌攻略大全 百闻牌式神卡组阵容大全 阴阳师百闻牌三大妖狐阵容推荐 妖狐流派怎么搭配?-新手攻略-安族网... 阴阳师百闻牌妖狐快攻阵容 怎么搭配攻略推荐 阴阳师百闻牌妖狐技能攻略 妖狐属性及卡组搭配推荐-新手攻略-安族网... 阴阳师百闻牌妖狐最强卡组 阵容怎么搭配攻略 阴阳师百闻牌妖狐卡组推荐 怎么搭配攻略分享 带鹏字的公司名字大全 鹏字开头公司起名 叶罗丽娃娃玩具店在哪 我的微信左下角有搞小锁,怎么去除 java怎么查询指定路径下所有文件夹 java 循环读取一个指定文件夹下的所有文件,提供大致代码的思路吧,谢谢~ 求代码!! java如何读取文件夹中所有txt文档(包含子文件夹中的txt文档) 微信新消息显示头像左下角有个黄色锁什么意思? java 循环读取文件夹里面的文件 java如何通过文件路径读取该路径下的所有文件并将其放入list中 A股和B股分别是什么 java代码 读取一个文件夹下的所有文件夹及里面的文件。 Java 下如何依次读取一个目录下的所有文件 验孕棒什么时候用准 验孕棒什么时候用才对? Java怎么读取目录下的所有文件? 验孕棒什么时候用比较准确? 我是乙肝大三阳,如何用中药治疗? 乙肝大三阳能不能服中药治疗 乙肝大三阳吃中药效果好吗? 乙肝大三阳吃中药治疗效果好吗【乙肝大三阳】 乙肝大三阳吃中药能治好吗? 乙肝大三阳,吃中药能完全转阴吗? 快捷方式左下角上多个小黄锁怎么去掉?? java怎么样获取路径下的文件? 什么是A股B 手机应用上有个小黄锁,怎么去掉 java 如何读取指定文件夹内的所有文件夹及文件,然后在页面上以树的形 ... java怎么读取同一个工程里面的src目录下的文件? 新买的电脑,微信接收到的文件都有个小黄锁,不能打开也不能复制? win7桌面图标左下角有小黄锁,新建一个文档也有,建多少就有多少,怎么把这小锁去掉啊? 电脑桌面图标突然在左下角出现小黄锁是中病毒了吗 文件自行加密后出现小黄锁,现在如何解除 固态硬盘的优势? 京东绑定银行卡之后,以后买东西还需要输入验证码么? 京东商城在线支付有效期和卡后验证码是什么 固态硬盘SSD有哪些优点和缺点 京东商城网上购物用银行卡只要需入验证码不用需密码是为什么 还京东白条为什么要银行卡验证码?然后收到扣款50000是什么意思? 京东用银行卡付钱,需要填写身份证号,银行卡号以及手机验证码,会不会被骗? - 信息提示 京东快捷支付要的卡验证码在哪儿 京东银行卡支付需要手机验证码吗