java 读取文件 两例
来源:互联网 发布:数控机床基本编程 编辑:程序博客网 时间:2024/06/01 09:48
1
采用InputStream is = new FileInputStream(File filePath);等输入流的 形式,读取文件并存放在StringBuffer中。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Read...{
private static String openFile(String filePath) ...{
File f = new File(filePath);
String ee = new String();
System.out.println("Opening file: " + filePath);
try
...{
InputStream is = new FileInputStream(f);
BufferedReader reader = new BufferedReader(
new InputStreamReader(is));
StringBuffer buffer = new StringBuffer();
String line; // 用来保存每行读取的内容
line = reader.readLine(); // 读取第一行
while (line != null) ...{ // 如果 line 为空说明读完了
buffer.append(line); // 将读到的内容添加到 buffer 中
buffer.append(" "); // 添加换行符
line = reader.readLine(); // 读取下一行
}
// System.out.print(buffer.toString());
ee = buffer.toString();
}
catch (FileNotFoundException e) ...{
e.printStackTrace();
}
catch (IOException e) ...{
e.printStackTrace();
}
return ee;
}
public static void main(String[] args)...{
System.out.print(Read.openFile("l:/fence.log"));
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Read...{
private static String openFile(String filePath) ...{
File f = new File(filePath);
String ee = new String();
System.out.println("Opening file: " + filePath);
try
...{
InputStream is = new FileInputStream(f);
BufferedReader reader = new BufferedReader(
new InputStreamReader(is));
StringBuffer buffer = new StringBuffer();
String line; // 用来保存每行读取的内容
line = reader.readLine(); // 读取第一行
while (line != null) ...{ // 如果 line 为空说明读完了
buffer.append(line); // 将读到的内容添加到 buffer 中
buffer.append(" "); // 添加换行符
line = reader.readLine(); // 读取下一行
}
// System.out.print(buffer.toString());
ee = buffer.toString();
}
catch (FileNotFoundException e) ...{
e.printStackTrace();
}
catch (IOException e) ...{
e.printStackTrace();
}
return ee;
}
public static void main(String[] args)...{
System.out.print(Read.openFile("l:/fence.log"));
}
}
2 采用支持对随机存取文件的读取和写入 的类 RandomAccessFile,成功读取文件第一行和最后一行。
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Read2222 ...{
public String rea(String descAddr)...{
String result = new String();
RandomAccessFile rf = null;
StringTokenizer st = new StringTokenizer(descAddr,".");
String fileLuJing = st.nextToken() + ".db";
ArrayList<String> ziFu = new ArrayList<String>();//每一行的字符串为一个元素
try ...{
rf = new RandomAccessFile(fileLuJing, "r");
long len = rf.length();
long start = rf.getFilePointer();
//System.out.println(start);
long nextend = start + len - 1;
String eachLine;//用于向ArrayList添加元素的代表
String lastLine;//最后一行的字符串
String firstLine = rf.readLine();
rf.seek(start);
int c = -1;
while (start<nextend) ...{
c = rf.read();
if (c == ' ' || c == ' ') ...{
eachLine= rf.readLine();
ziFu.add(eachLine);
}
rf.seek(start);
start++;
}
rf.close();
lastLine = ziFu.get(ziFu.size()-1);
/** *//*********转置*****/
// System.out.println("firstLine: "+firstLine);
// System.out.println("lastLine: "+lastLine);
StringTokenizer nameToken = new StringTokenizer(firstLine," ");
StringTokenizer valueToken = new StringTokenizer(lastLine," ");
String temp;
while(nameToken.hasMoreTokens() && valueToken.hasMoreTokens() )
...{
// System.out.println(result);
temp = nameToken.nextToken() + " " + valueToken.nextToken() + " " ;
result+= temp ;
}
/** *//*********转置*****/
}
catch (FileNotFoundException e) ...{
e.printStackTrace();
}
catch (IOException e) ...{
e.printStackTrace();
}
finally ...{
try ...{
if (rf != null)
rf.close();
} catch (IOException e) ...{
e.printStackTrace();
}
}
return result;
}
}
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Read2222 ...{
public String rea(String descAddr)...{
String result = new String();
RandomAccessFile rf = null;
StringTokenizer st = new StringTokenizer(descAddr,".");
String fileLuJing = st.nextToken() + ".db";
ArrayList<String> ziFu = new ArrayList<String>();//每一行的字符串为一个元素
try ...{
rf = new RandomAccessFile(fileLuJing, "r");
long len = rf.length();
long start = rf.getFilePointer();
//System.out.println(start);
long nextend = start + len - 1;
String eachLine;//用于向ArrayList添加元素的代表
String lastLine;//最后一行的字符串
String firstLine = rf.readLine();
rf.seek(start);
int c = -1;
while (start<nextend) ...{
c = rf.read();
if (c == ' ' || c == ' ') ...{
eachLine= rf.readLine();
ziFu.add(eachLine);
}
rf.seek(start);
start++;
}
rf.close();
lastLine = ziFu.get(ziFu.size()-1);
/** *//*********转置*****/
// System.out.println("firstLine: "+firstLine);
// System.out.println("lastLine: "+lastLine);
StringTokenizer nameToken = new StringTokenizer(firstLine," ");
StringTokenizer valueToken = new StringTokenizer(lastLine," ");
String temp;
while(nameToken.hasMoreTokens() && valueToken.hasMoreTokens() )
...{
// System.out.println(result);
temp = nameToken.nextToken() + " " + valueToken.nextToken() + " " ;
result+= temp ;
}
/** *//*********转置*****/
}
catch (FileNotFoundException e) ...{
e.printStackTrace();
}
catch (IOException e) ...{
e.printStackTrace();
}
finally ...{
try ...{
if (rf != null)
rf.close();
} catch (IOException e) ...{
e.printStackTrace();
}
}
return result;
}
}
特别注意,rf.seek()定位,这条语句的地方; rf.readLine()读取定位点之后的一行,所以第一行的读取在循环之外。
- java 读取文件 两例
- java 读取资源文件两种方法
- JAVA读取XML文件的两种方法
- java读取xml文件的两种方式
- Java读取文件MD5的两种方案
- java读取XML文件的两种方式
- Java读取文件MD5的两种方案
- Java读取文件MD5的两种方案
- JAVA读取propertise文件内容两种方式
- Java读取文件MD5的两种方案
- Java读取文件MD5的两种方案
- Java 读取TXT文件的两种方式
- Java读取文件MD5的两种方案
- java读取properties文件的两种方式
- Java中读取properties文件的两种方式
- Java读取文件MD5的两种方案
- java读取文件的两种方法:java.io和java.lang.ClassLoader
- java读取文件的两种方法:java.io和java.lang.ClassLoader
- Ubuntu/Linux入门介绍(03)-Shell、Console、Terminal
- Ubuntu/Linux入门介绍(02)-Linux系统简介
- Debian 安装资源
- 我的系统及其软件
- JESUS TO A CHILD
- java 读取文件 两例
- 无题
- C#彻底解决listview的闪屏问题
- 一个经典的全排列算法
- 记春游 --- 长城游记
- 泛型的方法与类型转换
- C# 类教程
- JVM,JRE,JDK的含义与区别
- vsftpd下显示的时间与系统时间不一致的解决