`

文件的读写模板

阅读更多
一,package org.join.jni;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.io.Reader;

public class ReadFromFile {
/**
* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
*
* @param fileName
*            文件的名
*/
public static void readFileByBytes(String fileName) {
File file = new File(fileName);
InputStream in = null;
try {
System.out.println("以字节为单位读取文件内容,一次读一个字节:");
// 一次读一个字节
in = new FileInputStream(file);
int tempbyte;
while ((tempbyte = in.read()) != -1) {
System.out.write(tempbyte);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
return;
}
try {
System.out.println("以字节为单位读取文件内容,一次读多个字节:");
// 一次读多个字节
byte[] tempbytes = new byte[100];
int byteread = 0;
in = new FileInputStream(fileName);
ReadFromFile.showAvailableBytes(in);
// 读入多个字节到字节数组中,byteread为一次读入的字节数
while ((byteread = in.read(tempbytes)) != -1) {
System.out.write(tempbytes, 0, byteread);
}
} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e1) {
}
}
}
}

/**
* 以字符为单位读取文件,常用于读文本,数字等类型的文件
*
* @param fileName
*            文件名
*/
public static void readFileByChars(String fileName) {
File file = new File(fileName);
Reader reader = null;
try {
System.out.println("以字符为单位读取文件内容,一次读一个字节:");
// 一次读一个字符
reader = new InputStreamReader(new FileInputStream(file));
int tempchar;
while ((tempchar = reader.read()) != -1) {
// 对于windows下,rn这两个字符在一起时,表示一个换行。
// 但如果这两个字符分开显示时,会换两次行。
// 因此,屏蔽掉r,或者屏蔽n。否则,将会多出很多空行。
if (((char) tempchar) != 'r') {
System.out.print((char) tempchar);
}
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
System.out.println("以字符为单位读取文件内容,一次读多个字节:");
// 一次读多个字符
char[] tempchars = new char[30];
int charread = 0;
reader = new InputStreamReader(new FileInputStream(fileName));
// 读入多个字符到字符数组中,charread为一次读取字符数
while ((charread = reader.read(tempchars)) != -1) {
// 同样屏蔽掉r不显示
if ((charread == tempchars.length)
&& (tempchars[tempchars.length - 1] != 'r')) {
System.out.print(tempchars);
} else {
for (int i = 0; i < charread; i++) {
if (tempchars[i] == 'r') {
continue;
} else {
System.out.print(tempchars[i]);
}
}
}
}
} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}

/**
* 以行为单位读取文件,常用于读面向行的格式化文件
*
* @param fileName
*            文件名
*/
public static void readFileByLines(String fileName) {
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
// 显示行号
System.out.println("line " + line + ": " + tempString);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}

/**
* 随机读取文件内容
*
* @param fileName
*            文件名
*/
public static void readFileByRandomAccess(String fileName) {
RandomAccessFile randomFile = null;
try {
System.out.println("随机读取一段文件内容:");
// 打开一个随机访问文件流,按只读方式
randomFile = new RandomAccessFile(fileName, "r");
// 文件长度,字节数
long fileLength = randomFile.length();
// 读文件的起始位置
int beginIndex = (fileLength > 4) ? 4 : 0;
// 将读文件的开始位置移到beginIndex位置。
randomFile.seek(beginIndex);
byte[] bytes = new byte[10];
int byteread = 0;
// 一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。
// 将一次读取的字节数赋给byteread
while ((byteread = randomFile.read(bytes)) != -1) {
System.out.write(bytes, 0, byteread);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (randomFile != null) {
try {
randomFile.close();
} catch (IOException e1) {
}
}
}
}

/**
* 显示输入流中还剩的字节数
*
* @param in
*/
private static void showAvailableBytes(InputStream in) {
try {
System.out.println("当前字节输入流中的字节数为:" + in.available());
} catch (IOException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
String fileName = "E:/newTemp.txt";
//ReadFromFile.readFileByBytes(fileName);
//ReadFromFile.readFileByChars(fileName);
ReadFromFile.readFileByLines(fileName);
//ReadFromFile.readFileByRandomAccess(fileName);
}
}

二.
package org.join.jni;

import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;

/**
* 将内容追加到文件尾部
*/
public class AppendToFile {
/**
* A方法追加文件:使用RandomAccessFile
*
* @param fileName
*            文件名
* @param content
*            追加的内容
*/
public static void appendMethodA(String fileName, String content)
{
try
{
// 打开一个随机访问文件流,按读写方式
RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
// 文件长度,字节数
long fileLength = randomFile.length();
// 将写文件指针移到文件尾。
randomFile.seek(fileLength);
//randomFile.writeBytes(content);
randomFile.write(content.getBytes());
randomFile.close();
} catch (IOException e)
{
e.printStackTrace();
}
}

/**
* B方法追加文件:使用FileWriter
*
* @param fileName
* @param content
*/
public static void appendMethodB(String fileName, String content)
{
try
{
// 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
FileWriter writer = new FileWriter(fileName, true);
writer.write(content);
writer.close();
} catch (IOException e)
{
e.printStackTrace();
}
}

public static void main(String[] args)
{
String fileName = "E:/newTemp.txt";
String content = "new append!";
StringBuffer sb=new StringBuffer();
sb.append("aaa");
String s;
// 按方法A追加文件
AppendToFile.appendMethodA(fileName, content);
System.out.println(System.currentTimeMillis());
AppendToFile.appendMethodA(fileName, " A method:append end.急啊急啊 \n");
System.out.println(System.currentTimeMillis());
// 显示文件内容
ReadFromFile.readFileByLines(fileName);
// 按方法B追加文件
AppendToFile.appendMethodB(fileName, content);
System.out.println(System.currentTimeMillis());
AppendToFile.appendMethodB(fileName, " B method:append end. \n");
System.out.println(System.currentTimeMillis());
// 显示文件内容
ReadFromFile.readFileByLines(fileName);
}
}

三。
<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-permission android:name="android.permission.RECORD_VIDEO" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <!--  -->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
    <uses-permission android:name="com.mstar.permission.RW_TV_DATA" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.MANAGE_USB" />
    <!-- 在SDCard中创建与删除文件权限 -->
    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <!-- 往SDCard写入数据权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 卸载和安装 -->
    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
    <uses-permission android:name="android.permission.DELETE_PACKAGES" />
    <uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
分享到:
评论

相关推荐

    文件读写和模板1

    在本文中,我们将深入探讨文件读写和模板在IT领域的应用,特别是在处理数据元素时的实践。文件读写是程序与外部存储交互的关键操作,而模板则是C++中实现泛型编程的重要工具。下面将分别对这两个主题进行详细讲解。 ...

    采用无缓冲方式实现文件读写.docx

    "采用无缓冲方式实现文件读写" 本文档是武汉大学计算机学院《Windows原理与应用》课程实验报告,旨在介绍如何使用无缓冲方式实现文件读写。该实验报告的主要内容包括实验目的、实验设计、实验原理和实验步骤等方面...

    文件读写的模板代码 rw.java

    这是文件读写的模板代码,可以用于在模板中添加此代码,以提高开发效率

    VB.NET]读写INI文件

    VB.NET 读写 INI 文件 INI 文件是一种常用的配置文件格式,广泛应用于 Windows 操作系统中。VB.NET 提供了读写 INI 文件的功能,使得开发者可以轻松地实现应用程序的配置管理。本文将详细介绍如何使用 VB.NET 读写 ...

    使用Java实现对dbf文件的简单读写

    使用 Java 实现对 dbf 文件的简单读写 Java 是一种广泛使用的编程语言,对于读写 dbf 文件具有重要的应用价值。本文将介绍使用 Java 实现对 dbf 文件的简单读写,包括读写 dbf 文件的基本步骤、相关类的介绍、代码...

    INI文件读写操作类

    这个"INI文件读写操作类"是作者为方便管理和操作INI文件而编写的,它将一些操作系统提供的API函数进行了封装。 在Windows API中,读写INI文件主要依赖以下几个函数: 1. `GetPrivateProfileString`:用于读取INI...

    poi读写word模板/JAVA生成word包

    关于压缩包中的"poi读写word模板包",可能包含了一些示例代码或模板文件,帮助开发者理解如何使用Apache POI进行Word模板的读写。解压后,你可以查看这些文件来学习具体实现,包括如何查找和替换模板中的特定字符串...

    利用宏简化配置文件读写的类

    它很可能是实现配置文件读写功能的基础类定义。在C++中,使用宏可以实现代码的预处理,通过宏定义,我们可以创建模板化的函数或类,以处理配置文件中的键值对。宏可以避免重复的代码,并提供了一种方式来抽象出通用...

    STL文件读写查

    在这个"STL文件读写查"项目中,作者尝试使用STL来实现对STL文件的读取、写入和查询操作。虽然代码可能存在一些问题并作为练习程序,但我们可以从中学习到一些基本的STL应用知识。 1. **STL容器**:STL中主要包括了...

    标准二进制文件操作模板.rar_二进制操作_二进制文件_文件操作_文件模板

    二进制文件的优势在于它们通常占用更少的磁盘空间,并且读写速度更快,因为计算机可以直接处理二进制数据而无需进行字符编码和解码的过程。 文件操作涵盖了一系列编程任务,包括创建、打开、关闭、读取、写入、追加...

    跨平台的ini文件读写类

    标题中的“跨平台的ini文件读写类”指的是一个编程工具或库,它允许程序员在不同的操作系统(如Windows、Linux、macOS等)上读取和写入ini配置文件。Ini文件是一种常见的文本格式,用于存储应用程序的设置和配置信息...

    Matlab的各种数据读取、文件读写等操作汇总.pdf

    Matlab 数据读取、文件读写操作汇总 Matlab 提供了多种方式从磁盘读入文件或将数据输出到工作空间,即读取数据,又叫导入数据;将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据。选择哪种机制,则根据...

    VC6,VC2005的MFC文件复制模板

    3. 使用`CFile`类或其他I/O流进行文件读写操作,将源文件内容复制到目标文件。 4. 处理错误,例如文件不存在、磁盘空间不足等。 5. 关闭文件,并根据需要更新UI状态。 学习这个模板,开发者可以理解如何在MFC环境中...

    GRIB文件读写.rar

    在"GRIB文件读写.rar"这个压缩包中,我们可以推测这是一个关于如何解析和生成GRIB2格式气象数据的项目源代码。项目源代码可以直接运行,这意味着开发者已经为我们提供了一个完整的工具或库,用于处理GRIB2文件。 1....

    Excel文件读写java代码

    在描述中提到的`blank.xls`就是一个空白模板文件,写入类可以将数据写入这个模板,生成带有数据的新Excel文件。 6. **主函数**:在Java程序中,主函数是程序执行的入口点。这里的主函数可能包含了测试读写功能的...

    《Python编程案例教程》教案-第21课-文件的读写与文件夹操作.doc

    文件的读写与文件夹操作 文件的读写与文件夹操作是 Python 编程语言中的基本操作,掌握了文件的读写与文件夹操作可以帮助学生更好地使用 Python 实现各种实践项目。在本教案中,我们将学习文件的读写和文件夹操作的...

    CStdioFile读写文件文档 VC6编写

    此外,CStdioFile还支持流式操作,可以与CFileStream一起使用,实现类似iostream的风格进行文件读写。这对于熟悉C++标准模板库的开发者来说更加直观。 总的来说,CStdioFile是VC6中处理文本文件的一个便捷工具,它...

    基于文件读写的MFC智能电话本系统

    《基于文件读写的MFC智能电话本系统》 在计算机编程领域,开发一个基于文件读写的MFC(Microsoft Foundation Classes)智能电话本系统是一项实用且基础的任务。MFC是微软提供的一套C++类库,它封装了Windows API,...

    C语言文件读写操作总结.md

    ### C语言文件读写操作知识点总结 #### 一、文件的打开操作 文件的打开是进行文件读写操作的第一步,通常使用`fopen()`函数完成。`fopen()`函数的基本格式为: ```c fopen(char *filename, char *type); ``` - *...

    NPOI批量读取excel文件内容写入excel模板.rar

    在这个"NPOI批量读取excel文件内容写入excel模板.rar"压缩包中,包含的资源可以帮助我们理解如何利用NPOI来批量处理Excel数据,并将读取到的信息填入预设的Excel模板中。这里我们将详细探讨NPOI的使用方法、批量读取...

Global site tag (gtag.js) - Google Analytics