【java】读文件和写文件,字符串操作

读文件:(适用txt或者xml或者json)

	//filePath参数是路径:报盘磁盘和具体的文件名,比如:C:\Users\Desktop\我的.txt
    public static String readTxtFile(String filePath) {
        StringBuffer strB = new StringBuffer();
        try {
            String encoding = "UTF-8";
            File file = new File(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) {
                    // System.out.println("lineTxt======"+lineTxt);
                    strB.append(lineTxt.trim().replace("\r", "")
                            .replace("\n", ""));
                }
                read.close();
//                System.out.println("strB========" + strB.toString());
            } else {
                System.out.println("文件不存在");
            }
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            System.out.println("文件读取失败");
            e.printStackTrace();
        }// 考虑到编码格式
        return strB.toString();
    }

写文件:(适用txt或者xml或者json)

	//参数printStr是需要输出的字符串
	//参数pathName是路径:报盘磁盘和具体的文件名,比如:C:\Users\Desktop\我的.txt
    public static void writeStringToFile(String printStr, String pathName) {
        if (pathName.contains(".txt") || pathName.contains(".xml") || pathName.contains(".json")) {
            Path path = Paths.get(pathName);
            try {
                if(pathName.contains(".json")){
                    JSONObject object = JSONObject.parseObject(printStr);
                    String pretty = JSON.toJSONString(object, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue,
                            SerializerFeature.WriteDateUseDateFormat);
                    printStr = pretty;
                }
                Files.write(path, printStr.getBytes());
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            System.out.println("文件名不符合,无法生成文件");
            return;
        }

    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值