文档章节

JavaIO读取文件内容

IT-Mamba
 IT-Mamba
发布于 2017/12/08 16:19
字数 388
阅读 19
收藏 0

本示例的应用场景:

读取模板文件夹的模板文件,然后替换占位符,生成指定文件到指定文件夹。

由于不同用户有不同的地址,所以需要在配置文件中编辑属于自己的两个地址

    项目地址:ProjectPath

    模板地址:FtlPath

    配置文件地址:filePath

配置文件放在项目WorkSpace下,导出jar后可以放置在jar包同级目录

示例内容如下:

#项目地址
ProjectPath=D:/WorkSpace/project
#模板地址
FtlPath=D:/WorkSpace

代码如下:

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.File;

public class testIO {
    public static void main(String[] args) {
        String ProjectPath = null;
        String FtlPath = null;
        String filePath = System.getProperty("user.dir")
                + "\\filePath.txt";
        try {
            String encoding = "GBK";
            File file = new File(filePath);
            System.out.println("filePath"+filePath);
            if (file.isFile() && file.exists()) { // 判断文件是否存在
                InputStreamReader read = new InputStreamReader(
                        new FileInputStream(file), encoding);// 考虑到编码格式
                BufferedReader bufferedReader = new BufferedReader(read);
                String lineTxt = null;
                while ((lineTxt = bufferedReader.readLine()) != null) {
                    if ("#".equals(lineTxt.substring(0, 1))) {

                    } else {
                        if ("P".equals(lineTxt.substring(0, 1))) {
                            ProjectPath = lineTxt.substring(12,
                                    lineTxt.length());
                            System.out.println("ProjectPath:"+ProjectPath);
                        } else if ("F".equals(lineTxt.substring(0, 1))) {
                            FtlPath = System.getProperty("user.dir") + "/ftl/";
                            System.out.println("FtlPath"+FtlPath);
                        }
                    }
                }
                read.close();
            } else {
                System.out.println("找不到指定的文件");
            }
        } catch (Exception e) {
            System.out.println("读取文件内容出错");
            e.printStackTrace();
        }
    }
}

String filePath = System.getProperty("user.dir") + "\\filePath.txt";

System.getProperty("user.dir")  获取程序的位置,加上文件名filePath.txt 即为配置文件地址

while循环中,每次读取一行,若是#开头的则不做任何处理,直接读取下一行

接下来判断开头是ProjectPath还是FtlPath,分别存到各自变量中

当中存在编码问题也用InputStreamReader时设置了编码,所以不会出现中文乱码问题

 

 

© 著作权归作者所有

上一篇: Java连接远程Redis
下一篇: Java反射机制
IT-Mamba
粉丝 10
博文 132
码字总数 55322
作品 0
惠州
程序员
私信 提问
JavaIO - InputStream子类

ByteArrayInputStream 包含一个内存缓冲区,字节从中取出。 FileInputStream 从文件中获得字节。 ObjectInputStream 用来恢复被序列化的对象。 PipedInputStream 管道输入流,读取管道内容。...

晨猫
2018/01/15
20
0
(转)java的InputStream和OutputStream的理解

1、在java中stream代表一种数据流(源),javaio的底层数据元,---(想像成水龙头) 2、任何有能力产生数据流(源)的javaio对象就可以看作是一个InputStream对象 既然它能产生出数据,我...

帅的不像男的
2016/03/29
268
0
Java文件的读写,不会同时对一个文件进行读写的操作

今天碰到一个Java io流题目如下: 打开一个文件,文件的内容如下 111111 222222 333333 要做的结果是在1和2这两行之间写入一行新的数据!!! 求问各位大神有多少中方法能写出来,最好是源代...

学习者11
2014/05/12
2.3K
4
Kotlin入门(27)文件读写操作

Java的文件处理用到了io库java.io,该库虽然功能强大,但是与文件内容的交互还得通过输入输出流中转,致使文件读写操作颇为繁琐。因此,开发者通常得自己重新封装一个文件存取的工具类,以便...

aqi00
2018/10/21
0
0
JAVA NIO编程入门(一)

JAVA NIO编程入门(一) 一、前言 笔者之前接触的NIO编程比较少,所以对这一块的基础也比较弱,NIO作为java编程中一个重要的模块,不能很好的掌握它,感觉自己在java方面就掌握的不够,所以,...

木木匠
2018/09/01
185
0

没有更多内容

加载失败,请刷新页面

加载更多

【TencentOS tiny】深度源码分析(4)——消息队列

消息队列 在前一篇文章中【TencentOS tiny学习】源码分析(3)——队列 我们描述了TencentOS tiny的队列实现,同时也点出了TencentOS tiny的队列是依赖于消息队列的,那么我们今天来看看消息...

杰杰1号
17分钟前
5
0
Hive

这就是那个 JAVA 类 package cn.itcast.bigdata;import java.util.HashMap;import org.apache.hadoop.hive.ql.exec.UDF;public class PhoneNbrToArea extends UDF{privat......

Garphy
17分钟前
6
0
Springboot开发,第二天

SpringBoot学习,第二天 目录:1、Springboot整合Listener 2、Springboot访问静态资源 3、异常处理 4、热部署 一、SpringBoot整合Listener 两种方式完成组件的注册 1、通过注解扫描完成组件的...

有一个小阿飞
21分钟前
7
0
BeginnersBook Perl 教程

来源:ApacheCN BeginnersBook 翻译项目 译者:飞龙 协议:CC BY-NC-SA 4.0 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并...

ApacheCN_飞龙
33分钟前
5
0
我的Java秋招面经大合集

阿里面经 阿里中间件研发面经 蚂蚁金服研发面经 岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。 我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。 然后我...

Java技术江湖
38分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部