File相关操作
文件操作
流关闭方法
public static void closeQuietly(Closeable closable)
{
if (null == closable)
{
return;
}
try
{
closable.close();
}
catch (IOException e)
{
}
}
读文件
下面给出的是通用的读文件方法,获取到每行数据后,可以对每行数据进行处理
public static String read(String fileName) throws IOException
{
file = new File(fileName);
StringBuffer sb = new StringBuffer();
BufferedReader br = null;
try
{
br = new BufferedReader(new FileReader(file));
String line = null;
while ((line = br.readLine()) != null)
{
//获取到每行数据后,可以进行一些处理
//如,读取的是配置文件格式为key=value,则可以在此处理
//如将key和value解析后保存到map中,供其他地方调用
sb.append(line);
sb.append('\n');
}
return sb.toString().trim();
}
finally
{
close(br);
}
}
写文件
可以通过最后一个参数设置,如果存在同名文件是直接覆盖还是追加
/**
* 可以追加写文件
* @author
* @param append 是否追加写文件
* @param fileName
* @param s
* @throws IOException
*/
public static void write(boolean append, String fileName, String s)
throws IOException
{
File file = new File(fileName);
if (file.getParent() != null)
{
file.mkdirs(file.getParent());
}
if (file.exists())
{
String content = read(fileName);
if (content.equals(s))
{
return;
}
}
BufferedWriter bw = null;
try
{
FileWriter fileWriter = null;
if (append)
{
fileWriter = new FileWriter(file, true);
}
else
{
fileWriter = new FileWriter(file);
}
bw = new BufferedWriter(fileWriter);
bw.flush();
bw.write(s);
}
finally
{
close(bw);
}
}
获取目标路径下的文件名
public static String[] listFiles(String fileName) throws IOException
{
if (null == fileName || fileName.isEmpty())
{
return new String[0];
}
File file = new File(fileName));
List files = new ArrayList();
File[] fileArray = file.listFiles();
for (int i = 0; (fileArray != null) && (i < fileArray.length); i++)
{
if (fileArray[i].isFile())
{
files.add(fileArray[i].getName());
}
}
return (String[]) files.toArray(new String[files.size()]);
}
File相关操作的更多相关文章
- CentOS学习笔记--基本命令--目录的相关操作
Linux基本命令--目录的相关操作 常见的处理目录的命令吧: cd:变换目录 pwd:显示目前的目录 mkdir:创建一个新的目录 rmdir:删除一个空的目录 cd (变换目录) cd是Chang ...
- cmd 下登陆ftp及相关操作
cmd 下登陆ftp及相关操作 2011-08-09 20:34:28| 分类: 小技巧|字号 订阅 一.举例 假设FTP地址为“ 61.129.83.39”(大家试验的时候不要以这个FTP去试,应 ...
- 利用JAVA API远程进行HDFS的相关操作
学习HDFS有一段时间了,现在把自己总结的HDFS的相关操作代码展示给大家. 主要有HDFS的增删改查,文件的追加,windows本地文件的上传,hdfs文件的下载,文件重命名,创建目录,文件是否存在 ...
- Android-SD卡相关操作
SD卡相关操作 1.获取 App 文件目录 //获取 当前APP 文件路径 String path1 = this.getFilesDir().getPath(); 当前APP目录也就是应用的这个目录 ...
- Django框架详细介绍---ORM相关操作
Django ORM相关操作 官方文档: https://docs.djangoproject.com/en/2.0/ref/models/querysets/ 1.必须掌握的十三个方法 <1& ...
- linux权限相关操作
Linux权限管理是Linux中一个十分重要的概念,也是系统安全性的重要保障.这里主要介绍Linux的基本权限和默认权限,通过理论讲解与实验演示,可以详细了解到权限的相关操作及其重要性. 文件权限 [ ...
- C#路径的八种相关操作,判断字符串是否为路径等
原文:C#路径的八种相关操作,判断字符串是否为路径等 1.判定一个给定的C#路径是否有效,合法 通过Path.GetInvalidPathChars或Path.GetInvalidFileNameCh ...
- mysql设置指定ip访问,用户权限相关操作
基础语法GRANT priv_type ON database.table TO user[IDENTIFIED BY [PASSWORD] 'password'] [,user [IDENTIFIE ...
- java文件夹相关操作 演示样例代码
java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...
随机推荐
- 当Flutter遇到节流与防抖
相信web前端的开发者都或多或少的遇到过节流与防抖的问题.函数节流和函数防抖,两者都是优化执行代码效率的一种手段.在一定时间内,代码执行的次数不一定是越多越好.相反,频繁的触发或者执行代码,会造成大量 ...
- Fragment与Activity的生命周期对比
因为fragment是依赖于activity的,所以activity的创建相关都是先于fragment的,fragment的销毁相关都是先于activity的.
- docker安装wnameless/oracle-xe-11g并运行(手写超详细)
前景:没事想玩下linux,想着以后可以部署下自己的web项目上去,然后我就想装个oracle来着...之前都不懂linux来着,只知道公司的项目都是部署在上面,然后从装系统到装完oracle用了近五 ...
- 关于JPasswordField的getText()方法过时问题解决
这几天想做一个登陆界面,用Jframe做,连接数据库时发现JPasswordField的getText()过时了,没法使用.查了资料发现改成了: try{ String sql="SELEC ...
- serversql数据库的查询操作
sql数据库 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !importan ...
- mybatis使用oracle的sequence
oracle数据库创建SEQUENCE CREATE SEQUENCE SEQ_COM_MASTER START INCREMENT MINVALUE MAXVALUE NOCYCLE CACHE ; ...
- June. 23rd 2018, Week 25th. Saturday
We are who we choose to be. 要成为怎样的人,选择在于自己. From Barry Manilow. I believe that we are who we choose ...
- 聚类——GMM
聚类——认识GMM算法 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.GMM概述 二.GMM算法步骤 三.具体推导参考文献 1. 李航. 统计学习 ...
- Mysql数据中Packet for query is too large错误的解决方法
有时,程序在连接mysql执行操作数据库时,会出现如下类似错误信息: Packet for query is too large (4230 > 1024). You can change th ...
- Windows 版 SourceTree 免登录跳过初始设置的方法
首先去官网下载最新的sourcetree安装包,点击打开下载地址. 下载完成后安装,等到他自启动开始提示你登录的时候,打开“我的电脑(此电脑)”,在最上边的输入栏输入%LocalAppData%\At ...