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 ...
随机推荐
- Ubuntu 16.04安装Zabbix 3.2 版本
系统环境:ubuntu16.04 注意:为了便于实验测试,需要关闭防火墙: parallels@zabbix-server:~$ sudo systemctl stop ufw parallels ...
- 35.Odoo产品分析 (四) – 工具板块(6) – 午餐管理(1)
查看Odoo产品分析系列--目录 很多公司为都会为员工提供午餐.然而,公司内部的午餐需要适当的管理,特别是在员工或供应商数量非常重要的时候."午餐订单"模块的开发,使管理更容易,也 ...
- 虚拟机安装macos 分辨率不正常修改不了,不能全屏如何解决
1.苹果在OSX 10.11之后启动了一个System Integrity Protection (SIP),这个保护系统防止/library/preferences/systemconfigurat ...
- office2019下载以及激活密钥(亲测可用)
office2019激活密钥 W8W6K-3N7KK-PXB9H-8TD8W-BWTH9 或者: 链接:https://pan.baidu.com/s/1Ch0rc2ZN9I_lwmbjGESTuw ...
- Session session = connection.createSession(paramA,paramB);参数解析
Session session = connection.createSession(paramA,paramB); paramA是设置事务,paramB是设置acknowledgment mode ...
- SQL查询获得指定格式内容
Oracle中通过修改SQL语句,达到将查询的内容拼接为指定的字符串格式 eg: select '<ta:datagridItem id="' || lower(column_name ...
- XML详解一XML语法
XML指可扩展标记语言很类似 HTML,被设计用来传输和存储数据而非显示数据,XML标签没有被预定义需要自行定义标签,标签具有自我描述性,同时XML也是 W3C 的推荐标准. 先来写一个XML脚本de ...
- Linux查看mysql 安装路径和运行路径
一.查看文件安装路径 由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址). 这里以mysql为例.比如说我安装了mysql,但是不知道文件都安装在哪些地方.放在哪些文件夹里,可以用 ...
- 《PyQt5快速开发与实战了》正式发售 !!!
<PyQt5快速开发与实战>正式出售了,该书是国内第一本介绍PyQt5的书籍.是两位一线工程师耗费一年的心血.本书github网址:https://github.com/cxinping/ ...
- OpenMP并行程序设计——for循环并行化详解
在C/C++中使用OpenMP优化代码方便又简单,代码中需要并行处理的往往是一些比较耗时的for循环,所以重点介绍一下OpenMP中for循环的应用.个人感觉只要掌握了文中讲的这些就足够了,如果想要学 ...