!!!!
读取txt文件中的内容
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
/**
* 2016年05月11日
* 本类模拟从txt文件读取内容的过程
* @author WuJieJecket
*
*/
public class PrintFromTxt {
public static void main(String[] args) throws Exception {
//读取全部文件内容
File file = new File("d:\\a\\123.txt");
StringBuilder sb = new StringBuilder();
String s ="";
BufferedReader br = new BufferedReader(new FileReader(file));
while( (s = br.readLine()) != null) {
sb.append(s + "\n");
}
br.close();
String str = sb.toString();
System.out.println(str);
}
}
!!!向文件中写入内容-如果指定文件不存在,会被创建
在main方法中使用if做判断,是否运行测试方法,测试方法有四个,FileOutputStream与FileWriter都是写入到txt文件,区别是后者先写在缓存,清缓存或者缓存已满才会最终把内容放入到txt中。
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
/**
* 2016年05月11日
* 本类模拟将字符串写入到txt文件的过程
* @author WuJieJecket
*
*/
public class WriteToTxt {
public static void main(String[] args) throws FileNotFoundException {
//要写入到文件中的内容 System.getProperty("line.separator") 是换行
String str1=System.getProperty("line.separator")+"张三1 0 3000"
+System.getProperty("line.separator")+"李四1 1 5000"
+System.getProperty("line.separator")+"王五1 0 4000";
String str2=System.getProperty("line.separator")+"张三2 0 3000"
+System.getProperty("line.separator")+"李四2 1 5000"
+System.getProperty("line.separator")+"王五2 0 4000";
String str3=System.getProperty("line.separator")+"张三3 0 3000"
+System.getProperty("line.separator")+"李四3 1 5000"
+System.getProperty("line.separator")+"王五3 0 4000";
String str4=System.getProperty("line.separator")+"张三4 0 3000"
+System.getProperty("line.separator")+"李四4 1 5000"
+System.getProperty("line.separator")+"王五4 0 4000";
WriteToTxt wtt=new WriteToTxt();
//FileWriter-缓存写入-字符-覆盖重写
if(!true){
wtt.FileWriterTest(str1);
}
//FileOutputStream-直接写入-字节-覆盖重写
if(!true){
wtt.FileOutputStreamTest(str2);
}
//FileWriter-缓存写入-字符-末尾续接
if(!true){
wtt.FileWriterTest2(str3);
}
//FileOutputStream-直接写入-字节-末尾续接
if(!true){
wtt.FileOutputStreamTest2(str4);
}
}
/*
* 写文件
* 覆盖重写
* FileWriter
* 先写在缓存中,需要flush
* 字符 eg:1,2,a,b
*/
public void FileWriterTest(String str){
FileWriter writer;
try {
// writer = new FileWriter("/home/1.txt");
writer = new FileWriter("d:\\a\\1231.txt");
writer.write(str);
writer.flush(); //这一个比较重要,是清理缓存的过程,之后需要写入的信息被写到txt文件中
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/*
*写文件
*覆盖重写
*FileOutputStream
*直接写入到文件中,不存在缓存
*字节 byte
*/
public void FileOutputStreamTest(String str){
FileOutputStream fos;
try {
fos=new FileOutputStream("d:\\a\\1232.txt");
fos.write(str.getBytes());
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 写文件
* 末尾续接
* FileWriter
* 先写在缓存中,需要flush
* 字符 eg:1,2,a,b
*/
public void FileWriterTest2(String str){
FileWriter writer;
try {
// writer = new FileWriter("/home/1.txt");
writer = new FileWriter("d:\\a\\1233.txt",true);
writer.write(str);
writer.flush(); //这一个比较重要,是清理缓存的过程,之后需要写入的信息被写到txt文件中
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/*
*写文件
*末尾续接
*FileOutputStream
*直接写入到文件中,不存在缓存
*字节 byte
*/
public void FileOutputStreamTest2(String str){
FileOutputStream fos;
try {
fos=new FileOutputStream("d:\\a\\1234.txt",true);
fos.write(str.getBytes());
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
txt的按行、列读