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. JVM内存计算问题

    -Xmx10240m:代表最大堆  -Xms10240m:代表最小堆  -Xmn5120m:代表新生代  -XXSurvivorRatio=3:代表Eden:Survivor = 3    根据Gen ...

  2. 赢在面试之Java多线程(十一)

    121,什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速.比如,如果一个线程完 ...

  3. 【BZOJ4259】残缺的字符串 FFT

    [BZOJ4259]残缺的字符串 Description 很久很久以前,在你刚刚学习字符串匹配的时候,有两个仅包含小写字母的字符串A和B,其中A串长度为m,B串长度为n.可当你现在再次碰到这两个串时, ...

  4. SPOJ Number of Palindromes(回文树)

    Number of Palindromes Time Limit: 100MS   Memory Limit: 1572864KB   64bit IO Format: %lld & %llu ...

  5. 通过脚本同时运行几个spider

    # 通过脚本同时运行几个spider目录结构: 1.在命令行能通过的情况下创建两个spider如TestSpiderTest2Spider 2.在items.py的同级目录创建run.py文件,有三种 ...

  6. Oracle-Rman(物理备份)

    Rman(物理备份) Rman -recover manager Rman 备份的对象 数据文件 数据文件 (Data File) 控制文件 控制文件 (Control File) 参数文件 参数文件 ...

  7. AutoArchive settings explained

    AutoArchive settings explained Applies To: Outlook 2010 More... Less AutoArchive helps manage the sp ...

  8. winrar命令行参数说明

    用法:     rar <命令> -<开关 1> -<开关 N> <压缩文件> <文件...> <@列表文件...> <解 ...

  9. Ubuntu系统Python3相关环境或模块安装

    前提:一般用户安装都命令前都需要sudo ,或者在root用户下 1.Ubuntu 16.04 安装PyCharm Ubuntu 16.04 安装PyCharm 本文通过第三方源安装PyCharm,好 ...

  10. select * 为什么不好? limit 1 为什么好? --mysql SQL语句优化

    问题一: Select * from  student;  这种语句不好 我的理解:根据Innode存储引擎以及网上的各种资料所说的innodb的B+树索引结构可以分析出,当在非聚集索引列上搜索若用s ...