文件操作

流关闭方法

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相关操作的更多相关文章

  1. CentOS学习笔记--基本命令--目录的相关操作

    Linux基本命令--目录的相关操作 常见的处理目录的命令吧: cd:变换目录 pwd:显示目前的目录 mkdir:创建一个新的目录 rmdir:删除一个空的目录 cd (变换目录) cd是Chang ...

  2. cmd 下登陆ftp及相关操作

    cmd 下登陆ftp及相关操作 2011-08-09 20:34:28|  分类: 小技巧|字号 订阅 一.举例 假设FTP地址为“ 61.129.83.39”(大家试验的时候不要以这个FTP去试,应 ...

  3. 利用JAVA API远程进行HDFS的相关操作

    学习HDFS有一段时间了,现在把自己总结的HDFS的相关操作代码展示给大家. 主要有HDFS的增删改查,文件的追加,windows本地文件的上传,hdfs文件的下载,文件重命名,创建目录,文件是否存在 ...

  4. Android-SD卡相关操作

    SD卡相关操作 1.获取 App 文件目录 //获取 当前APP 文件路径 String path1 = this.getFilesDir().getPath(); 当前APP目录也就是应用的这个目录 ...

  5. Django框架详细介绍---ORM相关操作

    Django ORM相关操作 官方文档: https://docs.djangoproject.com/en/2.0/ref/models/querysets/ 1.必须掌握的十三个方法 <1& ...

  6. linux权限相关操作

    Linux权限管理是Linux中一个十分重要的概念,也是系统安全性的重要保障.这里主要介绍Linux的基本权限和默认权限,通过理论讲解与实验演示,可以详细了解到权限的相关操作及其重要性. 文件权限 [ ...

  7. C#路径的八种相关操作,判断字符串是否为路径等

    原文:C#路径的八种相关操作,判断字符串是否为路径等 1.判定一个给定的C#路径是否有效,合法 通过Path.GetInvalidPathChars或Path.GetInvalidFileNameCh ...

  8. mysql设置指定ip访问,用户权限相关操作

    基础语法GRANT priv_type ON database.table TO user[IDENTIFIED BY [PASSWORD] 'password'] [,user [IDENTIFIE ...

  9. java文件夹相关操作 演示样例代码

    java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...

随机推荐

  1. Microsoft Dynamics CRM 9.0 OP 版本 安装 的那些 雷

    天天讲安装过程好无聊了,还是搞点有营养的东西来,那么后面来说说刚出来的MSCRM OP 9.0 版本安装的那些雷: 雷1:操作系统要求Windows 2016 Server 这点还好,因为之前安装MS ...

  2. springmvc实现视频上传+进度条

    前台表单: <form id="uploadform" method="post" enctype="multipart/form-data&q ...

  3. clCreateBuffer和clCreateBuufer + clEnqueueWriteBuffer

    有两种方式实现从主机到CL设备的数据传递, 第一种: cl_mem input = clCreateBuffer(context,CL_MEM_READ_ONLY,sizeof(float) * DA ...

  4. MongoDB 提升性能的18原则(开发设计阶段)

    MongoDB 是高性能数据,但是在使用的过程中,大家偶尔还会碰到一些性能问题.MongoDB和其它关系型数据库相比,例如 SQL Server .MySQL .Oracle 相比来说,相对较新,很多 ...

  5. Expression

    表达式目录树 1.什么是表达式目录树Expression? 表达式目录树是一个数据结构,语法树. 首先我们去看看 Expressions类 ,定义了一个泛型委托类型 TDelegate: // 摘要: ...

  6. man -f/-k [keyword]在fedora 29 中报错nothing appropriate

    我们在使用 man 手册的时候,可以使用man -f [keyword]去查询keyword的在线文档,但是这时候会报错:(图来源自网络) 这是因为我们还没有建立 man 手册的索引缓存: 我们可以使 ...

  7. 用一条SQL语句显示所有可能的比赛组合

    一个叫team的表,里面只有一个字段name,一共有4 条纪录,分别是a.b.c.d,对应四个球队,现在四个球队进行比赛,用一条SQL语句显示所有可能的比赛组合. select * from team ...

  8. CSS---选择器种类 | 层叠性权重

    一.css选择器种类 1.1,ID选择器 1.2,类选择器 1.3,标签选择器 1.4,后代选择器 1.5,子代选择器 1.6,交集选择器 1.7,并集选择器 1.8,通配符选择器 1.9,属性选择器 ...

  9. 打印进度条>>>>

    i+1: 当前的数量 300:  总数量 import sys print("下载中...") def process(curr, count): cursor_count = c ...

  10. DRF项目创建流程(1)

    一 web应用模式 前后端不分离 前后端分离 二 RESTFUL API规范 REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态 ...