public class FileUtil {
public static String readFile(String filePath) {
File file = new File(filePath);
if (!file.exists()) {
LogUtil.info("读取文件失败:文件不存在," + filePath);
return null;
}
StringBuffer buffer = new StringBuffer();
InputStream is = null;
BufferedReader reader = null;
try {
is = new FileInputStream(filePath);
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String line = reader.readLine(); // 读取第一行
buffer.append(line); // 将读到的内容添加到 buffer 中
while ((line = reader.readLine()) != null) { // 如果 line 为空说明读完了
buffer.append(System.getProperty("line.separator")); // 添加换行符
buffer.append(line); // 将读到的内容添加到 buffer 中
}
} catch (IOException ex) {
LogUtil.error("读取文件失败:" + ex.getStackTrace());
} finally {
try {
reader.close();
is.close();
} catch (Exception ex) {
LogUtil.error("读取文件关闭时失败:" + ex.getStackTrace());
}
}
return buffer.toString();
}
public static void writeFile(String filePath, String content) {
createOrCleanFile(filePath);
OutputStream os = null;
BufferedWriter writer = null;
try {
os = new FileOutputStream(filePath);
writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
writer.write(content);
writer.flush();
} catch (IOException ex) {
LogUtil.error("写文件失败:" + ex.getStackTrace());
} finally {
try {
writer.close();
os.close();
} catch (Exception ex) {
LogUtil.error("写文件关闭时失败:" + ex.getStackTrace());
}
}
}
public static void setFileLength(String filePath, Integer length) throws Exception {
try {
RandomAccessFile raf = new RandomAccessFile(filePath, "rw");
raf.setLength(0);
raf.close();
} catch (Exception ex) {
LogUtil.error("写文件失败:" + ex.getStackTrace());
throw ex;
}
}
public static boolean createOrCleanFile(String filePath) {
File file = new File(filePath);
File parent =new File(file.getParent()) ;
parent.mkdirs();
if (!file.exists()) {
try {
file.createNewFile();
} catch (Exception ex) {
LogUtil.info("写文件失败:创建文件" + filePath + "失败。信息为:" + ex);
return false;
}
return true;
} else {
try {
setFileLength(filePath, 0);
} catch (Exception ex) {
return false;
}
}
return true;
}
public static void deleteFile(String fileName)
{
File file = new File(fileName);
file.deleteOnExit();
}
分享到:
相关推荐
在Java编程语言中,文件读取是常见的任务,可以用于处理各种类型的数据,如文本、图像、音频等。本文将详细介绍Java中四种不同的文件读取方法:...理解这些基本概念可以帮助你编写出更加高效和灵活的Java文件操作程序。
根据给定文件的信息,我们可以深入探讨Java中读写文件的操作,这是编程中非常基础且重要的技能,尤其是在处理大量数据或进行文件系统交互时。以下是从标题、描述、标签及部分内容中提取并扩展的关键知识点: ### ...
### Java读取文件方法大全:读取File流等技术 在Java中,读取文件是一项基本且重要的操作,它可以通过多种方式实现,如字节流、字符流和基于行的读取。下面将详细介绍这些方法: #### 字节级读取:`...
在Java中,`java.io`包提供了丰富的类和接口来支持文件操作,如`File`、`FileReader`、`FileWriter`、`BufferedReader`和`BufferedWriter`等。首先,我们需要创建一个`File`对象来代表我们想要操作的文件或目录。...
在Java编程中,读写文件是一项基础且重要的任务,...以上就是关于“Java读写文件(txt)”的知识点,包括文件的读取、内容转换、正则匹配以及文件的写入。希望这些内容能帮助你理解和掌握Java在文件操作上的基本技能。
在Java编程语言中,按顺序读取文件是基础且重要的操作。这通常涉及到使用I/O流(Input/Output Stream)来处理文件数据。本篇文章将深入探讨如何在Java中实现按顺序读取文件,以及涉及的相关知识点。 首先,Java提供...
- 自Java 7起,引入了NIO.2,提供更高效和更灵活的文件操作,如`Files`类中的静态方法,可以方便地进行文件操作,如复制、移动、删除等。 8. **字符编码**: - 文件读写时需考虑字符编码问题。默认的编码可能不...
要使用SmbFile类,首先需要创建一个SmbFile对象,指定共享文件的URL,然后通过这个对象进行文件操作。以下是一个简单的示例,展示如何读取共享文件: ```java import jcifs.smb.SmbFile; import java.io....
这个简单的示例展示了如何使用Java读取SQLite数据库中的数据,你可以根据自己的需求扩展这个基础,实现更复杂的业务逻辑。 在实际开发中,通常会使用ORM框架,如Hibernate或MyBatis,它们提供了更高级别的抽象,...
要实现Java读取局域网共享文件,主要涉及以下步骤和知识点: 1. **网络路径表示**:Java中,网络路径通常以UNC(Universal Naming Convention)格式表示,形如`\\hostname\shared_directory\file.txt`。这里`...
在Java编程语言中,读取文件是一项常见的操作,尤其是在处理数据、日志文件或配置信息时。本文将详细解析如何使用...掌握了这种方法,就可以轻松处理各种文件操作需求,无论是简单的文本文件还是更复杂的二进制数据。
获取文件属性也是Java文件操作中的重要部分,可以帮助我们更好地管理文件系统。 ```java String path = request.getRealPath("/"); File f = new File(path, "ReadData.txt"); if (f.exists()) { System.out....
总结来说,这个简单的Java文件读写示例展示了如何使用IO流进行文件操作。通过`FileReader`和`BufferedReader`读取文件,用`FileWriter`和`BufferedWriter`写入文件,结合`newLine()`方法处理换行,我们可以实现对...
在提供的压缩包中,有一个名为"ucanaccess-2.0.9.2.jar"的文件,这是UCanAccess驱动,它是一个开源的Java库,允许Java应用程序直接操作.MDB和.ACCDB格式的Access数据库,而无需安装任何Microsoft软件。要使用这个...
### Java 二进制文件的读写操作 在Java中,进行二进制文件的读写操作是非常常见的需求,尤其是在处理非文本类型的文件(如图片、音频或视频等)时。本文将详细介绍如何使用`FileInputStream`和`FileOutputStream`类...
"Java读取Zip文件和文件内容" Java无需解压直接读取Zip文件和文件内容是Java语言中的一种常见操作,通过使用java.util.zip包中的ZipFile、ZipInputStream和ZipEntry类,我们可以轻松地读取Zip文件和文件内容。下面...
### Java流(文件读写操作) #### 一、流的分类 Java中处理文件和数据时,使用流的概念来进行操作。根据不同的标准,流可以分为几种类型。 ##### 1. 按数据流动方向 - **输入流**:主要用于从数据源读取数据。输入...
这个库提供了丰富的API,使得开发者可以在Java应用中方便地操作这些项目管理文件。 首先,让我们详细了解一下如何在Java中使用`mpxj`库来读取MPP文件。首先,你需要将`mpxj`库添加到你的项目依赖中。如果你使用的是...
本示例"读写文件操作demo-java"旨在教你如何使用Java进行文件的读取和写入,这对于处理数据存储、日志记录或是任何需要与磁盘交互的应用程序至关重要。我们将探讨`java.io`包中的核心类,如`FileInputStream`, `...