`
hyl123456
  • 浏览: 2340 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

java读写文件范例

阅读更多
public class ReadfromFile {
/**
* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件
*/
public static void readfileByBytes(String filename){
File file = new File(filename);
InputStream ins = null;
try {
ins = new FileInputStream(file);
int tmpbyte;
try {
while((tmpbyte =ins.read()) != -1 ){ // 以字节为单位一次只读一个字节
if((char)tmpbyte != '\r')
  System.out.print((char)tmpbyte);
}
System.out.println();
ins.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
try {
ins = new FileInputStream(file);
byte[] tmpbytes = new byte[1024];
int tmp = 0;
try {
while((tmp = ins.read(tmpbytes)) != -1){
if((char)tmpbytes[tmpbytes.length -1] != '\r'){ // 以字节为单位一次读取多个字节
for (int i = 0; i < tmp; i++) {
System.out.print((char)tmpbytes[i]);
}
}
}
ins.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
}
/**
* 以字符为单位读取文件,常用于读取文本、数字等类型的文件
* @param args
*/
public static void readfileByChar(String filename){
File file = new File(filename);
Reader read = null;
try {
read = new InputStreamReader(new FileInputStream(file));
int tmpchar = 0;
try {
while((tmpchar = read.read()) != -1){ // 以字符为单位读取,一次读取一个字节
if((char)tmpchar != '\r')
  System.out.print((char)tmpchar);
}
System.out.println();
read.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
try {
read = new InputStreamReader(new FileInputStream(file));
char[] tmpchar = new char[100];
int tmp = 0;
try {
while((tmp = read.read(tmpchar))!=-1){ // 以字符文单位读取文件,一次读取多个字节
if(tmpchar[tmpchar.length -1] != '\r'){
for (int i = 0; i < tmp; i++) {
System.out.print(tmpchar[i]);
}
}
}
read.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
}
/**
* 以行为单位读取文件,适用于读取面向行的格式化文件
* @param args
*/
public static void readfileByLine(String filename){
File file = new File(filename);
BufferedReader buread = null;
String tmpstring = null;
try {
int line = 1;
buread = new BufferedReader(new FileReader(file));
try {
while((tmpstring =buread.readLine()) != null){ // 一次读入一行一直到文件为null为止
System.out.println(tmpstring);
line++;
}
buread.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
}
/**
* 文件写操作
* @param args
*/
public static void writefile(String filename){
File file = new File(filename);
FileOutputStream ous = null;
FileOutputStream fous = null;
BufferedOutputStream bos = null;
FileWriter fw = null;
int b = 10;
try {
ous = new FileOutputStream(file);
try {
long begin = System.currentTimeMillis();
for (int i = 0; i < b; i++) {
ous.write("测试java写文件操作\r\n".getBytes());
}
ous.close();
long end = System.currentTimeMillis();
System.out.println("FileOutputStream执行耗时:"+(end - begin)+"毫秒");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
try {
fous = new FileOutputStream(file);
bos = new BufferedOutputStream(fous);
try {
long begin = System.currentTimeMillis();
for (int i = 0; i < b; i++) {  
bos.write("测试java写文件操作\r\n".getBytes());
}
bos.flush();
bos.close();
long end = System.currentTimeMillis();
System.out.println("BufferedOutputStream执行耗时:"+(end - begin)+"毫秒");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}  
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fw = new FileWriter(file);
long begin = System.currentTimeMillis();
for (int i = 0; i < b; i++) {
fw.write("测试java写文件操作");
}
fw.close();
long end = System.currentTimeMillis();
System.out.println("FileWriter执行耗时:"+(end - begin)+"毫秒");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
分享到:
评论

相关推荐

    Java 读取、添加、删除修改json文件数据范例.rar

     读取nameID.txt文件中的NAMEID字段(key)对应值(value)并存储,读取NAMEID对应值,读取原始json文件并进行操作和输出,并创建一个包含原始json串的json对象,获取features数组的第i个json对象,读取properties...

    JAVA编程通用范例

    5. **IO流**:Java的IO流系统用于读写文件和网络数据。范例中可能涵盖字节流、字符流、缓冲流、对象序列化和NIO(非阻塞IO)的使用。 6. **网络编程**:Java提供了Socket和ServerSocket类进行TCP/IP通信,以及...

    java开发范例大全

    5. **IO流**:Java的输入/输出系统提供了丰富的API来处理文件读写、网络通信等。范例会展示如何使用FileInputStream、FileOutputStream、BufferedReader、PrintWriter等类进行数据的读取和写入。 6. **多线程**:...

    java对于Json文件的解析范例

    本文将深入探讨如何使用Java解析JSON文件,包括所需的库、时间戳转换和文件读写操作,以及ArrayList类中可能遇到的问题。 首先,解析JSON文件,我们通常会用到两个流行的Java JSON库:Jackson和Gson。Jackson库提供...

    Java通用范例开发金典源代码

    《Java通用范例开发金典源代码》是一个包含大量Java编程示例的资源集合,旨在帮助开发者深入理解和掌握Java编程语言的各种特性和应用场景。这个压缩包文件中的源代码覆盖了Java语言的基础到高级各个方面,是Java学习...

    Java通用范例开发金典

    5. **I/O流**:Java的I/O流用于读写文件、网络通信等数据传输,包括字符流和字节流。源码中可能有读取配置文件、日志记录等场景的实例。 6. **多线程**:Java内置了对多线程的支持,包括Thread类和Runnable接口,...

    JAVA程序设计范例

    I/O流用于读写数据,包括文件操作,网络通信等,而集合框架提供了多种数据结构(如ArrayList, LinkedList, HashMap等),便于我们存储和操作数据。在"打开方式.txt"文件中,可能详细介绍了如何在Java中进行文件操作...

    java 范例大全源代码

    源代码中会有涉及读写文件、网络连接等实际应用场景的示例。 多线程编程也是Java的一大特色。通过实现Runnable接口或继承Thread类,可以创建并运行多个线程。在并发编程中,锁、同步机制、并发容器(如...

    JAVA培训范例I,初学者入门的经典实例

    学会使用InputStream、OutputStream、Reader、Writer等基本流,以及BufferedReader、PrintWriter等缓冲流,可以方便地读写文件和网络数据。 集合框架是Java中的另一个重点,它提供了ArrayList、LinkedList、HashSet...

    《Java通用范例开发金典》

    7. **I/O流**:Java的I/O流系统用于读写文件和处理数据流,包括字节流和字符流,以及缓冲区、转换流等高级功能。 8. **数据库操作**:Java JDBC(Java Database Connectivity)提供了一组API,用于与各种数据库交互...

    java2范例入门与提高(初学JAVA者)

    IO流用于读写文件和网络通信,多线程则让程序可以同时执行多个任务。网络编程则涉及到Socket通信,是构建分布式系统的基础。 在实践中提升是学习Java的重要环节,读者应动手编写代码,跟随书中的例子进行实践,逐步...

    [JAVA编程模式与范例].zip

    【JAVA编程模式与范例】这个压缩包文件主要聚焦于Java编程中的设计模式和实例应用。设计模式是软件工程中经过实践验证的、在特定场景下解决常见问题的有效方法,而Java作为广泛应用的面向对象编程语言,其设计模式的...

    开发java工作流范例

    在“开发java工作流范例”这个主题中,我们将深入探讨如何定义、生成以及实现工作流实例,特别是在Java环境中。这个压缩包文件包含了一个名为"osworkflow例子"的示例项目,它很可能是基于OSWorkflow框架的一个实例,...

    Java2范例入门与提高PDG格式

    此外,IO流(输入/输出流)和文件操作也是Java2的重要部分,学习如何读写文件、进行网络通信等,有助于开发者处理数据交换问题。线程和并发处理也是Java2的特色,通过多线程可以实现程序的并行执行,提高系统效率。 ...

    Java项目设计与开发范例

    10. **文件操作**:Java的IO流库提供了丰富的文件操作功能,包括读写、复制、删除等,掌握这些操作对于处理文件和数据交换是基础。 11. **XML和JSON解析**:在项目中,XML和JSON常用来传输和存储数据。使用DOM、SAX...

    Java范例开发大全(光盘源码)

    5. **输入/输出流**:Java I/O流系统提供了读写文件、网络通信等功能。书中会介绍如何使用FileInputStream、FileOutputStream、BufferedReader、PrintWriter等类进行文件操作,以及Socket编程的基础知识。 6. **多...

    《java范例大全》源代码

    源代码中会有读写文件、复制文件、处理标准输入输出的实例,展示如何使用FileInputStream、FileOutputStream、BufferedReader、PrintWriter等类。 8. **数据库操作**:Java通过JDBC(Java Database Connectivity)...

    Java+Web程序开发范例宝典

    读者将学习如何配置数据源、实体类、映射文件,以及执行CRUD(创建、读取、更新、删除)操作。 6. **Maven与Gradle**:作为项目构建工具,Maven和Gradle可以帮助管理依赖和构建流程。书中会介绍如何设置POM.xml或...

    Java2范例入门与提高(源码)

    《Java2范例入门与提高(源码)》是一份专为初学者和有经验的开发者准备的Java学习资源,包含了一系列章节结构化的实例代码,旨在帮助读者深入理解和掌握Java编程语言的核心概念和技术。这份资料涵盖了从基础到高级的...

    《Java通用范例开发金典》一书的完整源代码(上)

    5. **IO流**:Java的IO流系统允许程序读写数据,源代码可能包含文件操作、网络通信等场景,涉及到InputStream、OutputStream、Reader、Writer等类。 6. **多线程**:Java提供了强大的多线程支持,书中可能有Thread...

Global site tag (gtag.js) - Google Analytics