精华内容
下载资源
问答
  • 本文用递归的方法实现读取一个路径下面的所有文件并将文件名称保存到Txt文件中,亲测可用。 递归读取文件路径下的所有文件: /*...

    本文用递归的方法实现读取一个路径下面的所有文件并将文件名称保存到Txt文件中,亲测可用。

    递归读取文件路径下的所有文件:

    /**
         * 递归读取文件路径下的所有文件
         * 
         * @param path
         * @param fileNameList
         * @return
         */
        public static ArrayList<String> readFiles1(String path, ArrayList<String> fileNameList) {
            File file = new File(path);
            if (file.isDirectory()) {
                File[] files = file.listFiles();
                for (int i = 0; i < files.length; i++) {
                    if (files[i].isDirectory()) {
                        readFiles1(files[i].getPath(), fileNameList);
                    } else {
                        String path1 = files[i].getPath();
                        String fileName = path1.substring(path1.lastIndexOf("\\") + 1);
                        fileNameList.add(fileName);
                    }
                }
            } else {
                String path1 = file.getPath();
                String fileName = path1.substring(path1.lastIndexOf("\\") + 1);
                fileNameList.add(fileName);
            }
            return fileNameList;
        }
    

    将内容输出到(追加)txt文件保存:

    /**
         * 将内容输出到(追加)txt文件保存
         * 
         * @param content
         * @throws IOException
         */
        public static void outputToTxt(String content, String outputPath) throws IOException {
            FileWriter fw = new FileWriter(outputPath, true);//追加内容
            PrintWriter pw = new PrintWriter(fw);
            pw.println(content);
            pw.close();
            fw.close();
            pw.flush();
        }
    

    测试:

    进行测试,读取“E:\图书\图书馆\小说杂文”下的所有文件,并将结果输出到
    “C:\Users\Administrator\Desktop\fileNameList.txt”中。测试代码如下:

    public static void main(String[] args) {
            String filePath = "E:\\图书\\图书馆\\小说杂文";
            String outputPath1 = "C:\\Users\\Administrator\\Desktop\\fileNameList.txt";
            try {
                ArrayList<String> fileNameList = readFiles1(filePath, new ArrayList<String>());
                System.out.println(fileNameList.size());
                for (int i = 0; i < fileNameList.size(); i++) {
                    outputToTxt(fileNameList.get(i), outputPath1);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    

    测试结果如下:

    这是文件路径,路径下面有一个新建文件夹和若干个txt文件,共1086个对象,新建文件夹下面共有10个txt文件,计算可得此路径下面共有1086+10-1=1095个txt个文件:
    小说杂文视图
    新建文件夹
    这是运行的控制台打印信息,共有1095条打印信息:
    控制台信息
    这是桌面的fileNameList.txt,一共有1095行:
    fileNameList.txt

    转载于:https://www.cnblogs.com/sgh1023/p/9971817.html

    展开全文
  • 例子中用到了策略模式、简单工厂加反射,并且将运算符号常量一键值对的形式放在了配置文件中,分别对应不同的算法类名称。 那么在工厂中怎样读取到配置文件中对应的常量呢? 下面将提供三个方法: 一、基于...

    工具:idea
    jdk:1.8

    缘由:一下午在实现一个计算器的小栗子,最终目的是将一切常量封装,对应算法抽离,实现高内聚低耦合效果。例子中用到了策略模式、简单工厂加反射,并且将运算符号常量一键值对的形式放在了配置文件中,分别对应不同的算法类名称。
    在这里插入图片描述
    那么在工厂中怎样读取到配置文件中对应的常量呢?
    下面将提供三个方法:

    一、基于InputStream读取配置文件信息

     public static CounterInterface counterInterface(String key) throws Exception {
    		// 创建Properties对象,用于读取配置文件
    		Properties props = new Properties();
    		
    		//我这里用的是绝对路径,相对路径找不到配置文件,不清楚什么原因
    		//或者可以用InputStream ips = counterInterface.class.getClassLoader().getResourceAsStream(文件路径)
            InputStream ips = new FileInputStream("D:\\allproject\\Counter\\src\\main\\resources\\config.properties");
    
    		// 由于配置文件中可能存在中文乱码问题,应用reader类进行转换后解决
            Reader inStream = new InputStreamReader(ips, "UTF-8");
            props.load(inStream);
    
    		//getProperty用于获取properties中 对应键的键值,应用反射 ,实例化出键值对应的类 的对象
            CounterInterface counterInterface= (CounterInterface) Class.forName(props.getProperty(key)).newInstance();
            
            return counterInterface;
     }
    
    

    二、通过spring中的 PropertiesLoaderUtils工具类进行获取:

     public static CounterInterface counterInterface(String key) throws Exception {
    		Properties properties = new Properties();
            try {
                properties = PropertiesLoaderUtils.loadAllProperties("config.properties");
                String res=new String(properties.getProperty(key).getBytes("iso-8859-1"), "gbk");
            } catch (IOException e) {
                e.printStackTrace();
            }
    		//getProperty用于获取properties中 对应键的键值,应用反射 ,实例化出键值对应的类 的对象
            CounterInterface counterInterface= (CounterInterface) Class.forName(res).newInstance();
            
            return counterInterface;
     }
    

    便利取值:

    
    		Properties properties = new Properties();
            try {
                properties = PropertiesLoaderUtils.loadAllProperties("config.properties");
                //遍历取值
                Set<Object> objects = properties.keySet();
                for (Object object : objects) {
                    System.out.println(new String(properties.getProperty((String) object).getBytes("iso-8859-1"), "gbk"));
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
     
    

    三、通过 java.util.ResourceBundle 类读取:

     private static void readProperty3() {
            ResourceBundle resourceBundle = ResourceBundle.getBundle("code");
            //遍历取值
            Enumeration enumeration = resourceBundle.getKeys();
            while (enumeration.hasMoreElements()) {
                try {
                    String value = resourceBundle.getString((String) enumeration.nextElement());
                    System.out.println(new String(value.getBytes("iso-8859-1"), "gbk"));
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
            }
        }
    
    

    参考博客链接

    展开全文
  • 读取文件指定目录下的所有文件路径,自动剔除文件夹,递归获取即可。 //递归获取所有文件路径名称(source文件路径) public static ArrayList&lt;Object&gt; getFiles(String path) { ArrayList&...

    读取文件指定目录下的所有文件路径,自动剔除文件夹,递归获取即可。

    //递归获取所有文件路径名称(source文件路径)
    	public static ArrayList<Object> getFiles(String path) {
    	    ArrayList<Object> files = new ArrayList<Object>();
    	    File file = new File(path);
    	    File[] tempList = file.listFiles();
       if(tempList.length>0){
    	for (int i = 0; i < tempList.length; i++) {
            if (tempList[i].isFile()) {
                files.add(tempList[i].toString());
            }
            if (tempList[i].isDirectory()) {
            	ArrayList<Object> files1 = getFiles(tempList[i].toString());
            	if(files1.size()>0){
            		for(int j=0;j<files1.size();j++){
            			files.add(files1.get(j));
            		}
            	}
            }
        }
       } 
    	    return files;
    	}

    注释很详细,大家应该能看懂。

    展开全文
  • Java中文本文件读取的两种方法文本文件读取 FileReader fr=new FileReader(“demo.txt”);//创建一个文件读取流对象,和指定名称文件相关联,如果 文件不存在,发生异常 int ch=fr.read();一次读一个字符并...

    Java中文本文件读取的两种方法

    文本文件读取
    FileReader fr=new FileReader(“demo.txt”);//创建一个文件读取流对象,和指定名称的文件相关联,如果 文件不存在,发生异常
    int ch=fr.read();一次读一个字符并依次往下度,读到最后没有了返回-1
    fr.close();
    方式一:
    main{
    FileReader fw=new FileReader(“demo.txt”);
    int ch=0;
    while((ch=fr.read())!=-1){
    System.out.println((char)ch);
    }

    }

    方式二:
    main{
    FileReader fr=new FileReader(“demo.txt”);
    char[] buf=new char[1024];//定义字符数组,用于存储读到字符
    int num=0;
    while((num=fr.read(buf))!=-1){ //read(char[])返回的是读到的字符个数
    System.out.println(new String(buf,0,num));
    }
    fr.close();
    }

    展开全文
  • 配置文件存在于resource 目录中,名称为:service.properties 里面的内容是:
  • 方法一: package com.test.demo.test; import lombok.Data; import java.io.*; import java.util.ArrayList; import java.util.List; /** * @Title: GetFileSize.java * @Project: byy * @Description: 获取...
  • java静态方法读取某个配置文件中的配置 注意: application-dev.yml 配置文件名称 accout 配置文件中配置项key public static void main(String[] args) throws IOException { Properties props = new Properties...
  • 用WC3的DOM实现对XML文件读取方法摘要: //通过文件路径及文件名读取xml public XMLReader(String path, String filename); //初始化读取包下的的XML文件 public XMLReader(Package package1, String fileName)...
  • 小编今天测试读取excel文件,并且取其中的几个单元格作为文件名称的时候,发现文件名出现了乱码,毫无疑问,肯定就是读取excel的时候,取出来就出现了乱码,如图所示 excel原单元格数据,如图所示 首先这里...
  • 配置文件名称:goods.properties 里面有个属性存储的是 物品名称,如下 goodsname=台湾特产 JAVA 读取方法: public static void main(String[] args) { InputStream inputStream = this.getClass()....
  • java文件读取的两种方式FileReader

    万次阅读 2018-07-27 12:09:07
    示例代码一,文件读取的第一...创建文件读取流对象,和指定名称文件相关联,如果不存在指定文件的话,发生FileNotFoundException。 * 2.调用read方法,由于read一次只读一个字符,所以要用while循环。 * 3.关闭...
  • 做项目的时候,经常会用到配置文件,因为很多情景下数据都是活的,而配置...1、文件名称:webApp.properties,在src目录下,内容为: package com.test; import java.io.IOException; import java.io.InputSt...
  • 今天在项目中遇到一个问题,有一个需求是需要验证下载的ZIP文件,解压读取ZIP文件夹内部的文件,文件名称以及大小。 网上搜了下,发现,不用解压可以直接读取,代码如下: package com.sd.test.readzip; import ...
  • 原因:编码格式问题,java读取properties文件默认使用的是ISO8859-1编码解决方法:按自己的项目需要转成对应的编码格式即可。以下附简单的java读取properties代码:common.properties代码:#网站名称site=我的中文...
  • 一个Java工程项目,必须有个地方存放这些工作的Java类,这些类通常是工程的机密,所以就有个约定工程项目必须有个存放这些工作类的地方,于是从实际意义上考虑,自然而然的就有个 classpath 这个名称了,这
  • 使用ClassLoader的getResources方法(注意,不是getResource,少了s),可获得指定文件的包含jar包名称的多个路径值,然后依次读取文件即可。 使用class,只能通过getResource获得一个文件的路径,并且此文件在当前...
  • 1、读取文件或者文件夹下的文件 2、用renameTo(filePath)方法进行重命名 package com.example.spring_boot.rename; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; ...
  • java poi 读取有合并单元格的EXCEL文件

    万次阅读 热门讨论 2017-04-01 17:30:27
    报表名称 班次 生产线 站点编号 设备区域 1:无;2:左右 报表状态0:未启用;1启用 检查项目 检查方法 填报方式 标准值 偏差值 频次 import1 1 LC 52V451 2 1 检查项目1 目测 数值 10 1 10 检查项目2 填报 OK/NO 66 ...
  • 以下方法可以实现使用Java读取指定文件夹目录和子文件名称,并把名称保存在指定的文档里。 import java.io.File; import java.io.FileWriter; import java.io.IOException; public class App02 { /* * 读取...
  • 因为他内部有一个ConfigParser 类来支持.ini 文件的读写,根据该类提供的方法程序员可以自由的来操作.ini 文件。而在Java 中,Java 支持的是.properties 文件的读写。JDK 内置的java.util.Properties 类为我们操作....
  • 目前,JSON数据应用较为广泛,本文主要是展示采用JAVA读取JSON文件的最简洁方法 JSON文件格式 文件内容如下,文件名称为:data.json { "id": 1, "uName": "张三", "idNumber": 410121199804064431, "books": [ ...
  • 在我们平时写程序的时候,有些参数是经常改变的,而这种改变不是我们预知的。比如说我们开发了一个操作数据库...因为他内部有一个 ConfigParser 类来支持 .ini 文件的读写,根据该类提供的方法程序员可以自由的来操作
  • java:按行读取服务器压缩文件内容

    千次阅读 2016-04-08 17:07:22
    由于压缩文件的名称都是未知的,只能通过遍历目录下所有文件名来读取文件内容,但是HttpURLConnection 连接无法遍历目录的文件名,所以在当前目录下加多一个txt文件用于保存当前目录下所有文件名称
  • java实现大文件日志按线程分割的方法使用场景基本思路关键代码环境代码 使用场景 服务器日志文件非常大,不同的线程打印在一个文件里,排查问题非常不方便。log4j好像不支持按线程打印日志的方法,可以通过脚本分割日志...
  • 02 读取文件夹下的所有文件名称 03 读取文件夹下的所有文件信息 3.1 获取文件扩展名 3.2 获取文件修改时间 3.3 转换文件大小(字节 转 B、KB、MB、GB) 04 复制、移动文件信息 4.1 复制文件 4.2 移动文件 05 CSV与...
  • 1.首先反射入门案例 //可以创建任意类的对象,可以执行任意方法 @Test public void ReflectCase() throws Exception { ...读取配置文件.获取类名和方法名 * 2.创建class字节码对象 * 3.调用方法 ...
  • //获取asserts/test/目录下的所有文件名称 String test_path = "test"; int currentImg = 0; String str[] = this.getAssets().list(test_path); if (currentImg >= str.length){ curren...
  • Java实现转换文件编码

    2020-12-23 16:17:14
    转换文件编码 将GBK编码的文本文件,转换为UTF-8...3.使用InputStreamReader对象中的方法read读取文件 4.使用OutputStreamWriter对象中的方法write,把读取的数据写入到文件中 5.释放资源 public class 转换文件编码 {

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 404
精华内容 161
关键字:

java方法读取文件文件名称

java 订阅