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. EditText ------- 键盘类型

    文本输入框指定软键盘类型和软键盘回车键图标设置, 转载:http://blog.csdn.net/wirelessqa/article/details/8567327

  2. Rnqoj (未出现的子串)

    题目链接:传送门 题目大意:略: 题目思路:DP思想 读入数据后,从后向前遍历,假如我们是要找一个长度为n的以1开头的数字串的所有序列,那么可以将它表示为1+(任意数开头的长度为n-1的序列) 然后我 ...

  3. DB2 SQL方式查看版本

    SELECT service_level, fixpack_num FROM TABLE   (sysproc.env_get_inst_info())   as INSTANCEINFO

  4. 【BZOJ4566】[Haoi2016]找相同字符 后缀数组+单调栈

    [BZOJ4566][Haoi2016]找相同字符 Description 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数.两个方案不同当且仅当这两 个子串中有一个位置不同 ...

  5. css生成三角形

     转载:http://www.cnblogs.com/lhb25/p/css-and-css3-triangle.html Triangle Up    1 2 3 4 5 6 7 #triangle ...

  6. SQL Server常用函数汇总

    1.day(date)    用途:获取日期是所在月的几号  参数:date是一个可以解析为 time.date.smalldatetime.datetime.datetime2 或 datetime ...

  7. 数据库系统概述(Data Model、DBMS、DBS、RDBS、Structured Query Language)

    数据Data 描述事物的符号记录成为数据. 数据是数据库中存储的基本对象.   除了基本的数字之外.像图书的名称.价格.作者都可以称为数据. 将多种数据记录列成一张表.通过数据表管理数据. 每一行的数 ...

  8. PC京东登录页分析 curl

    w 正确的组合,没有显示新页面的数据. <!doctype html> <html> <head> </head> <?php include(' ...

  9. IO流入门-第一章-FileInputStream

    FileInputStreamj基本用法和方法示例 import java.io.*; public class FileInputStreamTest01 { public static void ...

  10. xml与java对象转换 -- XStreamAlias

    @XStreamAlias使用 一. 特点: 简化的API; 无映射文件; 高性能,低内存占用; 整洁的XML; 不需要修改对象;支持内部私有字段,不需要setter/getter方法 提供序列化接口 ...