package dh.btb.backend.utils
import java.io.*object FileUtil { /**
* 创建文件
* @param filePath 文件路径(不要以/结尾)
* @param fileName 文件名称(包含后缀,如:ReadMe.txt)
* @throws IOException
*/
@Throws(IOException::class)
fun createTxtFile(filePath: String, fileName: String): Boolean {
var flag = false
val filename = File("$filePath/$fileName")
if (!filename.exists()) {
filename.createNewFile()
flag = true
}
return flag
} /**
* 写文件
*
* @param content 文件内容
* @param filePath 文件路径(不要以/结尾)
* @param fileName 文件名称(包含后缀,如:ReadMe.txt)
* 新内容
* @throws IOException
*/
fun writeTxtFile(content: String, filePath: String, fileName: String, append: Boolean): Boolean {
var flag: Boolean = true
val thisFile = File("$filePath/$fileName")
try {
if (!thisFile.parentFile.exists()) {
thisFile.parentFile.mkdirs()
}
val fw = FileWriter("$filePath/$fileName", append)
fw.write(content)
fw.close()
} catch (e: IOException) {
e.printStackTrace()
}
return flag
} /**
* 读TXT文件内容
* @param filePath 文件路径(不要以 / 结尾)
* @param fileName 文件名称(包含后缀,如:ReadMe.txt)
* @return
*/
@Throws(Exception::class)
fun readTxtFile(filePath: String, fileName: String): String? {
var result: String? = ""
val fileName = File("$filePath/$fileName")
var fileReader: FileReader? = null
var bufferedReader: BufferedReader? = null
try {
fileReader = FileReader(fileName)
bufferedReader = BufferedReader(fileReader)
try {
var read: String? = null
while ({ read = bufferedReader.readLine();read }() != null) {
result = result + read + "\r\n"
}
} catch (e: Exception) {
e.printStackTrace()
} } catch (e: Exception) {
e.printStackTrace()
} finally {
if (bufferedReader != null) {
bufferedReader.close()
}
if (fileReader != null) {
fileReader.close()
}
}
println("读取出来的文件内容是:\r\n$result")
return result
}
} fun main(args: Array<String>) {
val service = FileUtil
val pathName = "E:/temp"
val fileName = "ReadMe.json"
val content = "我现在在上班" +
"比较忙的时候别来打扰我"
service.createTxtFile(pathName, fileName)
service.writeTxtFile(content, pathName, fileName, false)
val str = service.readTxtFile(pathName, fileName)
println(str)
}

java/kotlin 读取文件、写入文件的更多相关文章

  1. java nio读取和写入文件

    读取 package com.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputS ...

  2. 读取和写入 文件 (NSFIleManger 与 NSFileHandle)

    读取和写入 文件 //传递文件路径方法 -(id)initPath:(NSString *)srcPath targetPath:(NSString *)targetPath { self = [su ...

  3. File类的特点?如何创建File类对象?Java中如何操作文件内容,什么是Io流Io流如何读取和写入文件?字节缓冲流使用原则?

    重难点提示 学习目标 1.能够了解File类的特点(存在的意义,构造方法,常见方法) 2.能够了解什么是IO流以及分类(IO流的概述以及分类) 3.能够掌握字节输出流的使用(继承体系结构介绍以及常见的 ...

  4. Java中读取properties资源文件

    一.通过ResourceBundle来读取.properties文件 /** * 通过java.util.resourceBundle来解析properties文件. * @param String ...

  5. 在线程中进行读取并写入文件和wenjia

    新人求(胸)罩!!! import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException ...

  6. Python读取和写入文件

    1 从文件中读取数据 1.1 读取整个文件 创建名为test的txt文本文件,添加内容如下所示: 123456789023456789013456789012 实现代码: with open('tes ...

  7. 【转】MFC中用CFile读取和写入文件2

    原文网址:http://blog.sina.com.cn/s/blog_623a7fa40100hh1u.html CFile提供了一些常用的操作函数,如表1-2所示. 表1-2  CFile操作函数 ...

  8. C# Byte[]数组读取和写入文件

    这个项目我用的是asp.net构建的,代码如下 protected void ByteToString_Click(object sender, EventArgs e) { string conte ...

  9. iOS学习 plist读取和写入文件

    干iOS开发时间.后经常用来plist文件,  那plist什么文件是它? 它的全称是:Property List.属性列表文件.它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plis ...

随机推荐

  1. PatternSyntaxException:Syntax error in regexp pattern

    Caused by: java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1:      ...

  2. Spring框架中的AOP技术----注解方式

    利用AOP技术注解的方式对功能进行增强 CustomerDao接口 package com.alphajuns.demo1; public interface CustomerDao { public ...

  3. 源码分析——Action代理类的工作

     Action代理类的新建 通过<Struts2 源码分析——调结者(Dispatcher)之执行action>章节我们知道执行action请求,最后会落到Dispatcher类的serv ...

  4. 深入理解--SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用

    SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层.存放我们的实体类,与数据库中的属性值基本保持一致 ...

  5. cocopods

    一.什么是CocoaPods 1.为什么需要CocoaPods 在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson.AFNetworking.Reachability等等.使用这些库 ...

  6. 如何基于Go搭建一个大数据平台

    如何基于Go搭建一个大数据平台 - Go中国 - CSDN博客 https://blog.csdn.net/ra681t58cjxsgckj31/article/details/78333775 01 ...

  7. [转载]js复制内容加版权声明代码

    转自:https://www.cnblogs.com/zdz8207/p/js-oncopy.html var ua = navigator.userAgent.toLowerCase(); if( ...

  8. XPath 快速入门

    XPath 是一门在 xml 文档中查找信息的语言. XPath 使用路径表达式来选取 xml 文档中的节点或者节点集合. 路径表达式由元素和属性组成. 语法介绍 // 示例: // xml 文档 & ...

  9. .net ASPxTreeList 使用手记

    ASPxTreeList在使用ASPxGridViewExporter控件做导出时,如果指定文件名是中文时会乱码可以用以下方法解决: grvExporter为ASPxGridViewExporter控 ...

  10. Vue(3)- 安装脚手架、过滤器、生命周期的钩子函数、vue-router基本使用

    一.安装脚手架 1.下载node.js,本文下载版本为node-v8.12.0-x64.msi,一键式安装. 2.安装完成后,打开终端,输入node,可进入node环境(两次ctrl+c退出),如下图 ...